2015-06-28 82 views
0

我有一個名爲Asset的表,其列Ast_No PK int(Is Identity =「Yes」)和Ast_NumberAst_Date在SQL Server中,如何在插入數據後觸發事件

當客戶端輸入數據到Asset時,然後Ast_Number應該由SQL Server自動生成,應該看起來像AST-B-(Ast_No)

如何做到這一點?

謝謝 Basit。

回答

1

添加計算,堅持列到數值轉換爲價值,你需要

那麼試試這個:

CREATE TABLE dbo.Asset 
    (Ast_No INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED, 
    Ast_Number AS 'AST-B-' + RIGHT('00000' + CAST(Ast_No AS VARCHAR(5)), 5) PERSISTED, 
    .... your other columns here.... 
) 

現在,每次行插入Asset不指定值爲AstNoAst_Number

INSERT INTO dbo.Asset(Col1, Col2, ..., ColN) 
VALUES (Val1, Val2, ....., ValN) 

然後SQL服務器將自動,安全地增加你的Ast_No的值,而Ast_Number將包含值如AST-B-00001,AST-B-00002,...... 等 - 自動,安全,可靠,沒有重複。

+0

這是正確的。非常感謝。 – user3069097

+0

@ user3069097:如果您覺得此答案可幫助您解決問題,請[**接受此答案**](http://meta.stackoverflow.com/q/5234/153998)。這將表明你對那些花時間幫助你的人表示感謝。 –

相關問題