我有一个表,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。我将如何做?

最佳答案

您可以将 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 中)看到这一点,当您修改表时,您要查找的字段是默认值或绑定(bind)

关于使用选择的 SQL 插入语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24939506/

10-10 06:34