SCOPE_IDENTITY 和@@IDENTITY的返回值有什么区别- 木耳- 博客园
----SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的{zh1}一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。@@IDENTITY是个全局的变量,而 SCOPE_IDENTITY是你当前的插入到数据库的一个变量----
USE tempdb
GO
CREATE TABLE TZ (
   Z_id  int IDENTITY(1,1)PRIMARY KEY,
   Z_name varchar(20) NOT NULL)

INSERT TZ
   VALUES ('Lisa')
INSERT TZ
   VALUES ('Mike')
INSERT TZ
   VALUES ('Carla')

SELECT * FROM TZ

--运行结果.
Z_id   Z_name
-------------
1      Lisa
2      Mike

3      Carla

 


CREATE TABLE TY (
   Y_id  int IDENTITY(100,5)PRIMARY KEY,
   Y_name varchar(20) NULL)

INSERT TY (Y_name)
   VALUES ('boathouse')
INSERT TY (Y_name)
   VALUES ('rocks')
INSERT TY (Y_name)
   VALUES ('elevator')


 

SELECT * FROM TY
--结果:
Y_id  Y_name
---------------
100   boathouse
105   rocks

110   elevator

 


/*创建一个触发器,当向TZ表里面增加数据的时候,自动向TY表里面增加数据*/

 

CREATE TRIGGER Ztrig
ON TZ
FOR INSERT AS
   BEGIN
   INSERT TY VALUES ('')
   END

/*调用触发器,级联增加(类似数据库的级联增加)*/

 

INSERT TZ VALUES ('Rosalie')

select * from dbo.TY
select * from dbo.TZ

SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]
GO
SELECT @@IDENTITY AS [@@IDENTITY]
GO

SCOPE_IDENTITY

4

 

/*SCOPE_IDENTITY 返回的是添加到 TZ表里面的ID*/


 

 

@@IDENTITY

115

 

/*@@IDENTITY 返回的是(当前会话中的任何表内所生成的{zh1}一个标识值)这个值是触发器插入到TZ表这个作用域的标识.*/



郑重声明:资讯 【SCOPE_IDENTITY 和@@IDENTITY的返回值有什么区别- 木耳- 博客园】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——