0
Alter Table table2 add ( select column1, column2, column3, column4 from table1 );

我需要通过选择另一个表的列来附加现有表中的列。

我得到错误!期待一个可能的解决方案

4

1 回答 1

0

首先,要向表中添加四个新列,请使用以下语法:

ALTER TABLE Table2
            ADD  column1 <datatype> <allow null>,
                 column2 <datatype> <allow null>,
                 column3 <datatype> <allow null>,
                 column4 <datatype> <allow null>

<datatype>您将添加到列中的数据类型<allow null>在哪里,NULL如果您想允许空值是列,NOT NULL如果您不想在列中允许空值。

例如,要添加大小为 10 且允许空值的四列 nchar 类型,您可以执行以下操作:

ALTER TABLE Table2
            ADD  column1 [nchar](10) NULL,
                 column2 [nchar](10) NULL,
                 column3 [nchar](10) NULL,
                 column4 [nchar](10) NULL

接下来,要将 table1 中的数据作为全新记录插入到该表中,您将使用以下 sql:

insert into     table2 (column1, column2, column3, column4)
                select column1, column2, column3, column4
                from table1

注意:如果表中的任何原始列设置为NOT NULL并且没有默认值,这将失败,您还必须为这些列设置值。您可以使用类似于为不允许 NULL 值的列设置特定值的命令来执行此操作:

insert into     table2 ( existingColumn, column1, column2, column3, column4)
                select 'value to insert', column1, column2, column3, column4
                from table1
于 2013-01-25T06:14:39.393 回答