create proc proc_name @Name varchar(10) as set nocount on Insert into StoreList(Name) Values( @Name)return @@identity godeclare @Cur_Ident as int declare @Name as varchar(10) set @Name = 'xxxx' exec @Cur_Ident = proc_name @Name print @Cur_Ident
记得一定要把@@identity 放在自己定义的变量里头
re: MorningTea(一勺抹茶)set nocount on 请问这一句是什么意思?
select @@identity 当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。当 SET NOCOUNT 为 ON 时,将不给客户端发送存储过程中的每个语句的 DONE_IN_PROC 信息。当使用 Microsoft® SQL Server™ 提供的实用工具执行查询时,在 Transact-SQL 语句(如 SELECT、INSERT、UPDATE 和 DELETE)结束时将不会在查询结果中显示"nn rows affected"。如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。SET NOCOUNT 设置是在执行或运行时设置,而不是在分析时设置
@Name varchar(10)
as
set nocount on
Insert into StoreList(Name)
Values( @Name)return @@identity godeclare @Cur_Ident as int
declare @Name as varchar(10)
set @Name = 'xxxx'
exec @Cur_Ident = proc_name @Name
print @Cur_Ident
中秋节到了,祝大家心气舒畅、月圆人圆!