Phi*_*hil 79 sql t-sql sql-server stored-procedures
我有一个表管理员,只有一列,adminId是主键.由于业务规则,它必须是这样的.
我想一劳永逸地理解如何编写在这样的表中插入值的存储过程.我正在使用SQL Server和T-SQL并尝试使用SCOPE_IDENTITY(),但这不起作用,因为该表具有INSERT_IDENTITY为false或off.
我真的不想插入一个虚拟值只是为了能够插入一个新行.谢谢!
gbn*_*gbn 133
如果您有一个IDENTITY列,请执行此操作
INSERT MyTable DEFAULT VALUES; --allows no column list. The default will be the IDENTITY
SELECT SCOPE_IDENTITY();
Run Code Online (Sandbox Code Playgroud)
如果你没有身份,那么你可以设置吗?这是最好的方法..并使用上面的SQL.
如果没有,您想插入一个新行
INSERT MyTable (admidid)
OUTPUT INSERTED.admidid --returns result to caller
SELECT ISNULL(MAX(admidid), 0) + 1 FROM MyTable
Run Code Online (Sandbox Code Playgroud)
笔记: