如何使用一条SQL语句,插入多条记录?
6个回答
展开全部
无可能 除非写存储过程 做一个循环 这个 你要想一下 你用的应该是关系型数据库吧 那么关系型数据库就必须要求表里面有主键约束以保证每条记录不会重复 当然也有些表是没主键的 这样的设计我觉得不能纳入讨论范围 然后"一个查询语句插入多条记录" 这个命题得出一个推论 就是你不能设变量 就算可以设变量 但是只有一条语句 变量还是不能赋不同的值 那么得出你插入的多条数据都是重复的 这就违反了主键约束 也违反了第一范式的要求了。。。我觉得三大范式 你可以不用太苛刻的遵守 但是第一范式我认为是底线了 因为如果连第一范式都不遵守的话 那么就已经颠覆了关系型数据库的数学模型了。。。
其实这个问题我曾经也考虑过 因此看些书 结合平时的工作 最后就是按照上面这样说服了自己。。。。
其实这个问题我曾经也考虑过 因此看些书 结合平时的工作 最后就是按照上面这样说服了自己。。。。
展开全部
用insert 和select 组合语句
例子如下:
数据插入Sales表:
INSERT INTO Sales(EmployeeID,ProductID,SupplierID,CustomerID,
OrderDate,UnitPrice,Total,Quantity,Discount)
SELECT e.EmployeeID, p.ProductID, s.SupplierID,
c.CustomerID, o.OrderDate, od.UnitPrice,
od.Quantity*od.UnitPrice*(1.0-od.Discount)Total,
Od.Quantity, od.Discount
from Orders o,[Order Details] od, Employees e,
Products p, Suppliers s, Customers c
where (o.OrderID = od.OrderID) and
(o.EmployeeID = e.EmployeeID) and
(o.CustomerID = c.CustomerID) and
(od.ProductId = p.ProductID) and
(p.SupplierID = s.SupplierID);
例子如下:
数据插入Sales表:
INSERT INTO Sales(EmployeeID,ProductID,SupplierID,CustomerID,
OrderDate,UnitPrice,Total,Quantity,Discount)
SELECT e.EmployeeID, p.ProductID, s.SupplierID,
c.CustomerID, o.OrderDate, od.UnitPrice,
od.Quantity*od.UnitPrice*(1.0-od.Discount)Total,
Od.Quantity, od.Discount
from Orders o,[Order Details] od, Employees e,
Products p, Suppliers s, Customers c
where (o.OrderID = od.OrderID) and
(o.EmployeeID = e.EmployeeID) and
(o.CustomerID = c.CustomerID) and
(od.ProductId = p.ProductID) and
(p.SupplierID = s.SupplierID);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2个方案
1)
insert into tab (field1, field2) select a, b from anotherTab
2) insert into
INSERT INTO tab (field1, field2)
values('a', 'b'),('12', '345).....
1)
insert into tab (field1, field2) select a, b from anotherTab
2) insert into
INSERT INTO tab (field1, field2)
values('a', 'b'),('12', '345).....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
INSERT INTO TABLE
SELECT XXXX
UNION ALL
SELECT AAAA
UNION ALL
SELECT BBBB
......
SELECT XXXX
UNION ALL
SELECT AAAA
UNION ALL
SELECT BBBB
......
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
INSERT INTO Sales(EmployeeID,ProductID,SupplierID,CustomerID,
OrderDate,UnitPrice,Total,Quantity,Discount)
SELECT e.EmployeeID, p.ProductID, s.SupplierID,
c.CustomerID, o.OrderDate, od.UnitPrice,
od.Quantity*od.UnitPrice*(1.0-od.Discount)Total,
Od.Quantity, od.Discount
from Orders o,[Order Details] od, Employees e,
Products p, Suppliers s, Customers c
where (o.OrderID = od.OrderID) and
(o.EmployeeID = e.EmployeeID) and
(o.CustomerID = c.CustomerID) and
(od.ProductId = p.ProductID) and
(p.SupplierID = s.SupplierID);
OrderDate,UnitPrice,Total,Quantity,Discount)
SELECT e.EmployeeID, p.ProductID, s.SupplierID,
c.CustomerID, o.OrderDate, od.UnitPrice,
od.Quantity*od.UnitPrice*(1.0-od.Discount)Total,
Od.Quantity, od.Discount
from Orders o,[Order Details] od, Employees e,
Products p, Suppliers s, Customers c
where (o.OrderID = od.OrderID) and
(o.EmployeeID = e.EmployeeID) and
(o.CustomerID = c.CustomerID) and
(od.ProductId = p.ProductID) and
(p.SupplierID = s.SupplierID);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询