就像前言一样,我对T-SQL语法知之甚少.
我想创建一个简单的SQL脚本,它将生成3个插入语句.
Insert A
Insert B
Insert C
Run Code Online (Sandbox Code Playgroud)
在插入B语句中插入一个语句的标识或"ID".插入C语句中将需要插入A和B的标识.
伪代码看起来像:
INSERT INTO tableA
VALUES ('blah', 'blah')
INSERT INTO tableB
VALUES (IDENTITY_FROM_A_INSERT, 'foo')
INSERT INTO tableC
VALUES (IDENTITY_FROM_A_INSERT, IDENTITY_FROM_B_INSERT)
Run Code Online (Sandbox Code Playgroud)
我该怎么写这个脚本?
Ode*_*ded 19
SCOPE_IDENTITY()在每次插入后使用以获取插入行的标识(在当前会话中).
我使用了两个变量来捕获这两个身份,然后将它们插入到第三个表中:
DECLARE @Id1 INT
DECLARE @Id2 INT
INSERT INTO tableA VALUES ('blah', 'blah')
SET @Id1 = SELECT SCOPE_IDENTITY()
INSERT INTO tableB VALUES (IDENTITY_FROM_A_INSERT, 'foo')
SET @Id2 = SELECT SCOPE_IDENTITY()
INSERT INTO tableC VALUES (@Id1, @Id2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2986 次 |
| 最近记录: |