【发布时间】:2014-07-24 16:44:19
【问题描述】:
我有一个表 Table1,它有 7 列。让我们将它们命名为 C1 到 C7。
C3-C6 列允许 NULL 值。
如何将 SQL 插入语句写入 Table1,该语句将从不同的表 (ReferenceTable) 中获取 C1 和 C2 的值,同时将 C7 设置为值 0?
现在,我有以下内容:
INSERT INTO Table1 (C1, C2)
SELECT @C1, C2
FROM ReferenceTable
这几乎完成了我需要的一切,除了用值 0 初始化 C7。我该怎么做呢?
【问题讨论】:
-
编写不包括每一列(标识列除外)的 INSERT 语句是一种不好的做法。此外,您可以将 C7 设为默认值 0 并将其设为
NOT NULL。然后,当您不将其包含在 INSERT 语句中时,它将默认为 0。
标签: sql sql-server sql-insert