A. 将 @@IDENTITY 和 SCOPE_IDENTITY 用于触发器
2008-01-13 17:31
351 查看
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
--Result set: This is how table TZ looks.
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
--Result set: This is how TY looks:
Y_id Y_name
---------------
100 boathouse
105 rocks
110 elevator
CREATE TRIGGER Ztrig
ON TZ
FOR INSERT AS
BEGIN
INSERT TY VALUES ('')
END
INSERT TZ VALUES ('Rosalie')
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]
GO
SELECT @@IDENTITY AS [@@IDENTITY]
GO
SCOPE_IDENTITY
4
@@IDENTITY
115
/**//*@@IDENTITY returned the last identity value inserted to TY by the trigger. This fired because of an earlier insert on TZ.*/
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
--Result set: This is how table TZ looks.
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
--Result set: This is how TY looks:
Y_id Y_name
---------------
100 boathouse
105 rocks
110 elevator
CREATE TRIGGER Ztrig
ON TZ
FOR INSERT AS
BEGIN
INSERT TY VALUES ('')
END
INSERT TZ VALUES ('Rosalie')
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY]
GO
SELECT @@IDENTITY AS [@@IDENTITY]
GO
SCOPE_IDENTITY
4
@@IDENTITY
115
/**//*@@IDENTITY returned the last identity value inserted to TY by the trigger. This fired because of an earlier insert on TZ.*/
相关文章推荐
- [MSSQL]SCOPE_IDENTITY,IDENT_CURRENT以及@@IDENTITY的区别
- 转载:SCOPE_IDENTITY、IDENT_CURRENT和@@IDENTITY比较
- 关于使用触发器时使用@@identity的问题
- 糟糕的@@identity,SCOPE_IDENTITY ,IDENT_CURRENT
- SQL 获取最新ID,scope_identity() ,@@identity,ident_current
- SCOPE_IDENTITY和@@identity的区别
- @@IDENTITY在加触发器时返回错误的ID值
- @@IDENTITY,SCOPE_IDENTITY()和IDENT_CURRENT('TableName') 用法
- @@IDENTITY、IDENT_CURRENT、SCOPE_IDENTITY的区别
- 谈谈@@IDENTITY 和 SCOPE_IDENTITY()的区别
- @@IDENTITY与SCOPE_IDENTITY()
- SCOPE_IDENTITY()、@@IDENTITY、IDENT_CURRENT()
- SCOPE_IDENTITY和@@identity的区别
- scope_identity(), @@IDENTITY, IDENT_CURRENT()区别
- @@IDENTITY 和 SCOPE_IDENTITY() 的区别
- @@IDENTITY 的缺点 SCOPE_IDENTITY() 取而代之
- 关于如何使用SqlServer中@@Identity、@@IDENT_CURRENT、@@SCOPE_Identity获取自动生成列的值的区别(精简版)
- SCOPE_IDENTITY和@@identity的区别
- @@IDENTITY与SCOPE_IDENTITY() ---转自:叶子的追求
- SCOPE_IDENTITY和@@IDENTITY[转]