SQL2008 如何同时插入多个表
时间:2011-11-09
来源:互联网
--创建学生(Students)表
CREATE TABLE Students(
cStudentsId char(10) NOT NULL,
iStuImage image NULL,
vStuName varchar(20) NOT NULL,
cStuSex char(5) NOT NULL,
sStuAge smallint NULL,
CONSTRAINT constraint_Students PRIMARY KEY(cStudentsId),
CHECK(sStuAge BETWEEN 0 AND 100),
CONSTRAINT chkStuSex CHECK(cStuSex IN ('男','女'))
)
--创建学生用户(StuUsers)表
CREATE TABLE Stuusers(
cStudentsId char(10) NOT NULL,
cStuCode char(10) NOT NULL
)
ALTER TABLE Stuusers
ADD CONSTRAINT fkStuusers FOREIGN KEY (cStudentsId) REFERENCES Students(cStudentsId)
--创建学生在校(StudentsSchool)表
CREATE TABLE StudentsSchool(
cStudentsId char(10) NOT NULL,
dStuEnteTime datetime NOT NULL,
vStuMajor varchar(40) NOT NULL,
dStuFinTime datetime NOT NULL
)
ALTER TABLE StudentsSchool
ADD CONSTRAINT fkStudentsSchool FOREIGN KEY (cStudentsId) REFERENCES Students(cStudentsId)
我想三个表同时插入数据,因为三个表中都有cStudentsId,我想做到三个表一同插入,而不是像下面一样一个表一个表的插入,但是不知道能用什么方法插入,请各位高手指点一二,非常感激。
INSERT Students (cStudentsId,vStuName,cStuSex,sStuAge) VALUES
('2010121001', '张三', '男', '19'),('2010121002', '李三', '男', '19'),
('2010121003', '张四', '男', '22'),('2010121004', '李四', '男', '21'),
('2010121005', '赵艳', '女', '20'),('2010121006', '严子义', '男', '23'),
insert StudentsSchool values
('2010121001', '2006-9-13', '网络工程', '2010-4-25'),
('2010121002', '2006-9-13', '大气', '2010-4-25'),
('2010121003', '2007-9-13', '应用物理', '2011-4-25'),
('2010121004', '2008-9-13', '电子信息工程', '2013-4-25'),
('2010121005', '2005-9-13', '土木工程', '2010-4-25'),
('2010121006', '2007-9-13', '英语', '2010-4-25'),
INSERT Stuusers VALUES
('2010121001', '0000000000'),('2010121002', '0000000000'),
('2010121003', '0000000000'),('2010121004', '0000000000'),
('2010121005', '0000000000'),('2010121006', '0000000000'),
CREATE TABLE Students(
cStudentsId char(10) NOT NULL,
iStuImage image NULL,
vStuName varchar(20) NOT NULL,
cStuSex char(5) NOT NULL,
sStuAge smallint NULL,
CONSTRAINT constraint_Students PRIMARY KEY(cStudentsId),
CHECK(sStuAge BETWEEN 0 AND 100),
CONSTRAINT chkStuSex CHECK(cStuSex IN ('男','女'))
)
--创建学生用户(StuUsers)表
CREATE TABLE Stuusers(
cStudentsId char(10) NOT NULL,
cStuCode char(10) NOT NULL
)
ALTER TABLE Stuusers
ADD CONSTRAINT fkStuusers FOREIGN KEY (cStudentsId) REFERENCES Students(cStudentsId)
--创建学生在校(StudentsSchool)表
CREATE TABLE StudentsSchool(
cStudentsId char(10) NOT NULL,
dStuEnteTime datetime NOT NULL,
vStuMajor varchar(40) NOT NULL,
dStuFinTime datetime NOT NULL
)
ALTER TABLE StudentsSchool
ADD CONSTRAINT fkStudentsSchool FOREIGN KEY (cStudentsId) REFERENCES Students(cStudentsId)
我想三个表同时插入数据,因为三个表中都有cStudentsId,我想做到三个表一同插入,而不是像下面一样一个表一个表的插入,但是不知道能用什么方法插入,请各位高手指点一二,非常感激。
INSERT Students (cStudentsId,vStuName,cStuSex,sStuAge) VALUES
('2010121001', '张三', '男', '19'),('2010121002', '李三', '男', '19'),
('2010121003', '张四', '男', '22'),('2010121004', '李四', '男', '21'),
('2010121005', '赵艳', '女', '20'),('2010121006', '严子义', '男', '23'),
insert StudentsSchool values
('2010121001', '2006-9-13', '网络工程', '2010-4-25'),
('2010121002', '2006-9-13', '大气', '2010-4-25'),
('2010121003', '2007-9-13', '应用物理', '2011-4-25'),
('2010121004', '2008-9-13', '电子信息工程', '2013-4-25'),
('2010121005', '2005-9-13', '土木工程', '2010-4-25'),
('2010121006', '2007-9-13', '英语', '2010-4-25'),
INSERT Stuusers VALUES
('2010121001', '0000000000'),('2010121002', '0000000000'),
('2010121003', '0000000000'),('2010121004', '0000000000'),
('2010121005', '0000000000'),('2010121006', '0000000000'),
作者: Yp2800 发布时间: 2011-11-09
木有办法,只能一个一个插.
作者: qianjin036a 发布时间: 2011-11-09
这。。。把三个INSERT 语句写在同一个事务里面
不过实质上还是分3次插入。
不过实质上还是分3次插入。
作者: fredrickhu 发布时间: 2011-11-09
那么又怎么写在一个事务里面呢
怎么写呢?谢谢指点……
怎么写呢?谢谢指点……
作者: Yp2800 发布时间: 2011-11-09
你插入的语句 应该 在 应用程序里面实现的吧?!
还是 用一下 SqlBulkCopy 吧,三个表一起插入是不行的,有
外键,注意一下 顺序,祝好运!
还是 用一下 SqlBulkCopy 吧,三个表一起插入是不行的,有
外键,注意一下 顺序,祝好运!
作者: sunboylyl 发布时间: 2011-11-09
可用存储过程实现,新增时调用存储过程
SQL code
SQL code
表:T1 ID 表:T2 ID T1_ID Create proc P1(@ID int,@ID2 int) as insert T1 values(@ID) insert T2 values(@ID2,@ID) go exec p1 1,2
作者: roy_88 发布时间: 2011-11-10
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28