加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 如何在存储过程中一次插入两个表?

发布时间:2021-01-17 13:08:26 所属栏目:MsSql教程 来源:网络整理
导读:Possible Duplicate: 07000 为学校做一个项目所以任何帮助都会非常感谢你! 我有两个表 – 如何插入两个表?所以两个表都是链接的. 第一个表称为Customer,主键称为CID,自动递增 CREATE TABLE [dbo].[Customer]( [CID] [int] IDENTITY(1,1) NOT NULL,[LastNam

Possible Duplicate:
07000

为学校做一个项目所以任何帮助都会非常感谢你!

我有两个表 – 如何插入两个表?所以两个表都是链接的.

第一个表称为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,[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:返回插入同一范围内的标识列的最后一个标识值.范围是一个模块:存储过程,触发器,函数或批处理.因此,如果两个语句在同一存储过程,函数或批处理中,则它们在同一范围内.

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读