这个问题在这里已经有了答案:
9年前关闭。
Possible Duplicate:
How can I INSERT data into two tables simultaneously in SQL Server?
为学校做一个项目,所以任何帮助都会非常感谢你!
我有两张 table - 我如何插入两张 table ?所以两个表都是链接的。
第一个表称为
Customer
主键名为 CID
自动递增CREATE TABLE [dbo].[Customer](
[CID] [int] IDENTITY(1,1) NOT NULL,
[LastName] [varchar](255) NOT NULL,
[FirstName] [varchar](255) NOT NULL,
[MiddleName] [varchar](255) NULL,
[EmailAddress] [varchar](255) NOT NULL,
[PhoneNumber] [varchar](12) NOT NULL
CONSTRAINT [PK__CInforma__C1F8DC5968DD69DC] PRIMARY KEY CLUSTERED
(
第二个表名为
Employment
具有链接到父表的外键CREATE TABLE [dbo].[Employment](
[EID] [int] IDENTITY(1,1) NOT NULL,
[CID] [int] NOT NULL,
[Employer] [varchar](255) NOT NULL,
[Occupation] [varchar](255) NOT NULL,
[Income] [varchar](25) NOT NULL,
[WPhone] [varchar](12) NOT NULL,
CONSTRAINT [PK__Employme__C190170BC7827524] PRIMARY KEY CLUSTERED
(
最佳答案
你需要做这样的事情:
DECLARE @NewID INT
INSERT INTO Customer(LastName,FirstName,......) VALUES(Value1, Value2, .....)
SELECT @NewID = SCOPE_IDENTITY()
INSERT INTO Employment(CID,Employer,.....) VALUES(@NewID, ValueA,..........)
SCOPE_IDENTITY : 返回插入到同一范围内的标识列中的最后一个标识值。范围是一个模块:存储过程、触发器、函数或批处理。因此,如果两条语句在同一个存储过程、函数或批处理中,则它们属于同一范围。
关于sql - 如何在存储过程中一次插入两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318924/