----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 Lisa2 Mike3 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 boathouse105 rocks110 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_IDENTITY4
/*SCOPE_IDENTITY 返回的是添加到 TZ表里面的ID*/
@@IDENTITY115
/*@@IDENTITY 返回的是(当前会话中的任何表内所生成的{zh1}一个标识值)这个值是触发器插入到TZ表这个作用域的标识.*/