gpt4 book ai didi

SQL Server : INSERT from one table to another table

转载 作者:行者123 更新时间:2023-12-02 09:18:46 25 4
gpt4 key购买 nike

我面临着将数据从一个表插入到另一个表的问题,该表具有相同的表结构,但列位置不同。

示例:

表 1:

     emp1:
Name char 50
Age int
Salary Float

表 2:

     emp2:
Name char 50
Salary Float
Age int

我的代码:

insert into emp1
select * from emp2

我无法插入,因为一个表的列顺序与另一个表不同,但是两个表具有相同的名称和数据类型。

最佳答案

您可以(或如@marc_s提到的应该)指定列。

这样做,您可以更改这些表的结构(可能会发生,对吧?),而不会产生任何后果(除非您删除这些列)。您的代码仍然有效。

此外,指定列名称对于任何人来说都更具可读性。您不需要调用 sp_help 或任何其他命令来检查结构(表架构)。

顺便说一句,如果不指定仅查找的列,则在两个表或任何表中都有主键将引发异常:

If an INSERT statement violates a constraint or rule, or if it has a value incompatible with the data type of the column, the statement fails and an error message is returned.

If INSERT is loading multiple rows with SELECT or EXECUTE, any violation of a rule or constraint that occurs from the values being loaded causes the statement to be stopped, and no rows are loaded.

    INSERT INTO emp1 (Name
,Age
,Salary )
SELECT Name
,Age
,Salary
FROM emp2

关于SQL Server : INSERT from one table to another table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44463748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com