Sql server 使用SQL将整个数据从一个表复制到另一个表的存储过程
我有一个表Sql server 使用SQL将整个数据从一个表复制到另一个表的存储过程,sql-server,sql-server-2012,Sql Server,Sql Server 2012,我有一个表Persons(ID,Name,Address)和另一个表Persons\u twin(ID,Name,Address),我想在其中从Persons复制整行 复制数据的最短和最好的方法是什么?下面是我尝试过的代码,但没有执行。你的建议很有价值。多谢各位 BEGIN -- SET NOCOUNT ON added to prevent extra result sets from SET NOCOUNT ON; -- Insert statements for
Persons(ID,Name,Address)
和另一个表Persons\u twin(ID,Name,Address)
,我想在其中从Persons
复制整行
复制数据的最短和最好的方法是什么?下面是我尝试过的代码,但没有执行。你的建议很有价值。多谢各位
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
SET NOCOUNT ON;
-- Insert statements for procedure here
INSERT INTO [dbo].[Persons_twin](ID, Name, Address)
VALUES(SELECT ID, Name, Address FROM [dbo].[Persons])
END
如果两个表相同,则可以使用以下查询:
INSERT INTO Persons_twin
SELECT * FROM Persons
删除
values
子句并直接使用select
查询
INSERT INTO [dbo].[Persons_twin](ID, Name, Address)
SELECT ID, Name, Address FROM [dbo].[Persons]
您甚至可以动态创建第二个表。在这种情况下,您不必担心表的结构:
SELECT * INTO persons_twin FROM Persons
不建议在没有选择列列表或插入列列表的情况下回答。当两个表中的任何一个发生更改时,这可能会导致将来出现问题。可能的值副本用于插入一行特定值。因此,将其与SELECT组合的方式是无效的。您可以使用其中一种,但不能同时使用两种。您的第二种语法在SQL SERVER中是否有效?您好@Prdp,很好!不将编辑我的答案。。。