0
我有一個名爲Asset
的表,其列Ast_No PK int
(Is Identity =「Yes」)和Ast_Number
和Ast_Date
。在SQL Server中,如何在插入數據後觸發事件
當客戶端輸入數據到Asset
時,然後Ast_Number
應該由SQL Server自動生成,應該看起來像AST-B-(Ast_No)
。
如何做到這一點?
謝謝 Basit。
我有一個名爲Asset
的表,其列Ast_No PK int
(Is Identity =「Yes」)和Ast_Number
和Ast_Date
。在SQL Server中,如何在插入數據後觸發事件
當客戶端輸入數據到Asset
時,然後Ast_Number
應該由SQL Server自動生成,應該看起來像AST-B-(Ast_No)
。
如何做到這一點?
謝謝 Basit。
添加計算,堅持列到數值轉換爲價值,你需要
那麼試試這個:
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
不指定值爲AstNo
或Ast_Number
:
INSERT INTO dbo.Asset(Col1, Col2, ..., ColN)
VALUES (Val1, Val2, ....., ValN)
然後SQL服務器將自動,安全地增加你的Ast_No
的值,而Ast_Number
將包含值如AST-B-00001
,AST-B-00002
,...... 等 - 自動,安全,可靠,沒有重複。
這是正確的。非常感謝。 – user3069097
@ user3069097:如果您覺得此答案可幫助您解決問題,請[**接受此答案**](http://meta.stackoverflow.com/q/5234/153998)。這將表明你對那些花時間幫助你的人表示感謝。 –