use*_*502 5 sql sql-server sql-server-2008
为学校做一个项目所以任何帮助都会非常好,谢谢!
我有两个表 - 如何插入两个表?所以两个表都是链接的.
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
(
Run Code Online (Sandbox Code Playgroud)
第二个名为Employmentthat的表有一个链接到父表的外键
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
(
Run Code Online (Sandbox Code Playgroud)
and*_*ndy 11
你需要做这样的事情:
DECLARE @NewID INT
INSERT INTO Customer(LastName,FirstName,......) VALUES(Value1, Value2, .....)
SELECT @NewID = SCOPE_IDENTITY()
INSERT INTO Employment(CID,Employer,.....) VALUES(@NewID, ValueA,..........)
Run Code Online (Sandbox Code Playgroud)
SCOPE_IDENTITY:返回插入同一范围内的标识列的最后一个标识值.范围是一个模块:存储过程,触发器,函数或批处理.因此,如果两个语句在同一存储过程,函数或批处理中,则它们在同一范围内.
| 归档时间: |
|
| 查看次数: |
15341 次 |
| 最近记录: |