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