我正在尝试将一个表中的值插入另一个表中,并使用所需的附加参数。例如:
INSERT INTO table1(someInt, someOtherInt, name, someBit)
SELECT someInt, someOtherInt, name FROM table2
someBit不允许为null,我需要将其设置为False,但我不确定如何在同一个INSERT语句中使用它。 (我使用SQL 2005,如果重要的话)
编辑:哎哟...看起来我把菲力牛排扔给了狮子: - )
答案 0 :(得分:14)
也许
INSERT INTO table1(someInt, someOtherInt, name, someBit)
SELECT someInt, someOtherInt, name, 0
FROM table2
答案 1 :(得分:4)
也许
INSERT INTO table1(someInt, someOtherInt, name, someBit)
SELECT someInt, someOtherInt, name, 0 FROM table2
答案 2 :(得分:4)
INSERT INTO table1(someInt, someOtherInt, name, someBit)
SELECT someInt, someOtherInt, name, 0 FROM table2
答案 3 :(得分:3)
您可以像这样硬编码SELECT中的值:
INSERT INTO
dbo.table1
(
someInt,
someOtherInt,
name,
someBit
)
SELECT
someInt,
someOtherInt,
name,
0
FROM
dbo.table2
答案 4 :(得分:2)
您还可以在目标表上为该列定义默认值。这样就不必在insert语句中引用它了。
让我们说SomeBit是客户表上的Active标志或状态。 有效0 =关/假/否 有效1 =开/真/是。
ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_Active] DEFAULT ((1)) FOR [Active]