SQL使用select插入语句

时间:2014-07-24 16:44:20

标签: sql sql-server sql-insert

我有一个表,Table1,有7列。让我们将它们命名为C1至C7。

列C3-C6允许NULL值。

如何在Table1中编写一个SQL插入语句,它将从另一个表(ReferenceTable)中获取C1和C2的值,同时将C7设置为值0?

现在,我有以下内容:

INSERT INTO Table1 (C1, C2)
SELECT @C1, C2
FROM ReferenceTable

除了用值0初始化C7之外,这几乎可以完成我需要的所有内容。我将如何进行此操作?

2 个答案:

答案 0 :(得分:4)

使用此插入查询:

insert into table1 (c1,c2,c7) (select c1,c2,0 from reftable)

答案 1 :(得分:3)

您可以将0附加到SELECT ...

INSERT INTO Table1 (C1, C2, C7)
SELECT C1, C2, 0
FROM ReferenceTable

或者,您可以将C7设置为默认值为0,这将是我的首选选项。

ALTER TABLE Table1 
ALTER COLUMN C7 SET DEFAULT (0)

因此,如果没有插入任何内容,C7将始终为0.

您将在设计器中(在Management Studio中)看到这一点,当您修改表格时,您要查找的字段是默认值或绑定

enter image description here