MS-SQL TRIGGER 的問題 |
尚未結案
|
northpenguin
一般會員 發表:4 回覆:5 積分:1 註冊:2003-10-13 發送簡訊給我 |
請問一下
在TRIGGER內要如何將一個變數 帶到同一個TRIGGER內的查詢式 裡的值
例如:
CREATE TRIGGER INSERT_USERSERIAL ON [dbo].[User_List] FOR INSERT AS DECLARE @UserSerial CHAR( 11), @M CHAR( 2), @D CHAR( 2), @RecordCount INT, @CountStr CHAR( 4), @Serial CHAR( 6), @UA CHAR( 20), @UP CHAR( 20), @UNAME CHAR( 20), @CMD VARCHAR BEGIN IF Month( GetDate()) < 10 SELECT @M = '0' Str( Month( GetDate()), 1, 0) ELSE SELECT @M = Month( GetDate()) IF Day( GetDate()) < 10 SELECT @D = '0' Str( Day( GetDate()), 1, 0) ELSE SELECT @D = Day( GetDate()) SELECT @Serial = 'NR' @M @D SELECT @RecordCount = Count( *) 1 FROM UserInfo WHERE UserSerial LIKE '''NR' @M @D '-%''' /* ^^^^^^^^^^^^^^^^^^^^ 此處應該如何帶入@Serial*/ SELECT @CountStr = CASE WHEN Len( Convert( Varchar( 4), @RecordCount)) = 1 then '000' Convert( Varchar( 4), @RecordCount) WHEN Len( Convert( Varchar( 4), @RecordCount)) = 2 then '00' Convert( Varchar( 4), @RecordCount) WHEN Len( Convert( Varchar( 4), @RecordCount)) = 3 then '0' Convert( Varchar( 4), @RecordCount) WHEN Len( Convert( Varchar( 4), @RecordCount)) = 4 then Convert( Varchar( 4), @RecordCount) END SELECT @UserSerial = 'NR' @M @D '-' @CountStr UPDATE USER_LIST SET USER_LIST.USERSERIAL = @UserSerial FROM USER_LIST UL, INSERTED INS WHERE INS.UL_Account = UL.UL_Account SELECT @UA = INS.UL_ACCOUNT, @UP = INS.UL_PASSWORD, @UNAME = LTRIM( RTRIM(INS.UL_SurName)) LTRIM( RTRIM( INS.UL_Name)) FROM INSERTED INS INSERT USERINFO VALUES( @UserSerial, @UA, @UP, @UNAME) END |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |