2015-06-28 44 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)。这将表明你对那些花时间帮助你的人表示感谢。 –

相关问题