【发布时间】:2021-08-12 11:05:00
【问题描述】:
我有一个这样的表定义:
ID int /* identity column */
SecondID nvarchar(50) /* ComputedColumn */
birthdate datet */ Simple Column */
我想在这个表上插入值,我想将插入的值作为输出,
第一个 ID,我是通过 scope_identity 函数得到的。
计算函数:ID * 1000
例如,我想插入这些值:(1,1000,12/08/2021)
我现在能得到的只有ID,
CREATE PROCEDURE [dbo].[USER_insert]
@birthdate date,
@SecondIDOut nvarchar(50) output
Begin
AS
INSERT INTO [dbo].[User]
([birthdate])
VALUES
(@birthdate)
SET @ID = scope_identity()
/* SET @SecondIDOut = ?? what can I set here */
END
执行SQL插入语句后如何获取SecondID?
【问题讨论】:
-
使用
OUTPUT子句。 -
已经用过,我会更新我的问题
-
birthdate是日期,而不是日期时间。在编写代码之前三思。如果您确实想要为 SecondID 计算的值,则必须检索并以某种方式将其传递回过程的调用者。您可以添加另一个输出参数,也可以简单地将插入的行作为结果集返回。你选择。 -
谢谢你的评论,我更新了我的问题。
标签: sql sql-server