我看到一些存储过程在插入后返回select语句如下。有什么用?
self.view.layoutIfNeeded()
答案 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执行更多工作,例如写入审计表,或将更多数据写入详细信息表等。