【发布时间】:2017-05-23 23:53:15
【问题描述】:
我正在将记录从我们的 crm 插入到我们的 erp。 phone 表使用 people 表中的标识列。我需要插入人员记录并捕获作为身份列的 PersonId 中的值,然后使用该 PersonId 作为键将记录插入到电话表中。我得到错误: 消息 137,第 16 层,状态 1,第 16 行 必须声明标量变量“@IdentityID”。 消息 137,第 16 层,状态 1,第 17 行 必须声明标量变量“@IdentityID”。
--IdentityTable
CREATE TABLE [dbo].[People](
[People_ID] [int] NOT NULL,
[text] [nvarchar](50) NULL,
[PersonId] [int] IDENTITY(1,1) NOT NULL
) ON [PRIMARY]
--Phone
CREATE TABLE [dbo].[Phone](
[PersonId] [int] NOT NULL,
[text] [nvarchar](50) NULL,
[Number] [nchar](10) NULL
) ON [PRIMARY]
declare @IdentityID table (PersonId int);
INSERT INTO [Bridge].[dbo].[People]
([People_ID]
,[text])
output Inserted.PersonId into @IdentityID
VALUES
(3,'row1'),
(4,'row2');
INSERT INTO [Bridge].[dbo].[Phone]
(PersonId
,[text]
,[Number])
VALUES
(@IdentityID,'row1'),
(@IdentityID,'row2');
Print 'IdentityID' + @IdentityID
消息 137,第 16 级,状态 1,第 16 行 必须声明标量变量“@IdentityID”。 消息 137,第 16 层,状态 1,第 17 行 必须声明标量变量“@IdentityID”。
【问题讨论】:
标签: tsql