SQL Server--插入一天数据返回ID值

 

这里将该功能写成了一个存储过程,

本来只写Insert的话,返回1,即影响的行数,该数据没太大应用意义。

想在Insert的基础上,返回新添加的这条数据的ID,两种方法:

1 .添加第17行的Select @@identity; 就可以了(因为这里是把ID设为了主键自增)。

 1 USE [HumidifyMachine]
 2 GO
 3 /****** Object:  StoredProcedure [dbo].[sp_AddTask]    Script Date: 2020/3/8 21:56:59 ******/
 4 SET ANSI_NULLS ON
 5 GO
 6 SET QUOTED_IDENTIFIER ON
 7 GO
 8 
 9 ALTER procedure [dbo].[sp_AddTask]
10 @ChamberName varchar(20),
11 @BufferName varchar(20),
12 @HumidifyBoxCode varchar(20)
13 as
14 begin
15 Insert into T_Task (Status, ChamberName, BufferName, HumidifyBoxCode, BlueAreaDetectTime) 
16     values (10, @ChamberName, @BufferName, @HumidifyBoxCode, GETDATE());
17 Select @@identity;
18 end

 2. 将上述代码的第15-17行替换为下面代码,使用OUTPUT输出制定的字段,OUTPUT Inserted.ID ,这种方法比较通用,不止能输出ID。

1 Insert into T_Task (Status, ChamberName, BufferName, HumidifyBoxCode, BlueAreaDetectTime) 
2     OUTPUT Inserted.ID values (10, @ChamberName, @BufferName, @HumidifyBoxCode, GETDATE());

 

posted @ 2020-03-08 22:10  橘子香气  阅读(663)  评论(0编辑  收藏  举报