在插入语句T-SQL之后使用return select

时间:2015-11-02 03:13:03

标签: sql sql-server tsql

我看到一些存储过程在插入后返回select语句如下。有什么用?

self.view.layoutIfNeeded()

1 个答案:

答案 0 :(得分:2)

我同意米莉的评论。但是,如果您是SQL Server的新手,您可能会在docs中找到一些新的单词,可能会有更多问题。希望下面的解释会有所帮助。

https://msdn.microsoft.com/en-us/library/ms190315(v=sql.105).aspx说:

  

返回插入标识列的最后一个标识值   相同的范围。范围是一个模块:存储过程,触发器,   功能或批处理。因此,如果两个语句属于同一范围   它们处于相同的存储过程,功能或批处理中。

在存储过程中,INSERT语句在具有标识列的表上完成。此标识列在插入过程中获得递增的自动编号。要知道这个数字是什么,使用SCOPE_IDENTITY()函数。

例如:

create table employees (id int identity(1,1) primary key, fullname varchar(100));
insert into employees (fullname) values ('John Smith');
select scope_identity(); -- will return the ID of the inserted record

SQLFiddle示例:http://sqlfiddle.com/#!3/41f84/2(继续按Run SQL查看最后输入的数据的ID)。

然后,您可以使用此自动生成的ID执行更多工作,例如写入审计表,或将更多数据写入详细信息表等。