insert une valeur dans la table SQL et utiliser l'instruction SELECT

J'essaie d'insert des valeurs d'une table à l'autre, avec un paramètre additonal requirejs. Par exemple:

INSERT INTO table1(someInt, someOtherInt, name, someBit) SELECT someInt, someOtherInt, name FROM table2 

someBit n'est pas autorisé à être nul, et je dois le mettre à False, mais je ne suis pas tout à fait sûr comment l'utiliser dans la même instruction INSERT. (Im en utilisant SQL 2005 si c'est important)

edit: Ouch … on dirait que j'ai jeté du filet mignon à des lions 🙂

Peut être

 INSERT INTO table1(someInt, someOtherInt, name, someBit) SELECT someInt, someOtherInt, name, 0 FROM table2 

Peut être

INSERT INTO table1(someInt, someOtherInt, name, someBit)
SELECT someInt, someOtherInt, name, 0 FROM table2

?

 INSERT INTO table1(someInt, someOtherInt, name, someBit) SELECT someInt, someOtherInt, name, 0 FROM table2 

Vous pouvez juste coder en dur la valeur dans le SELECT comme ceci:

 INSERT INTO dbo.table1 ( someInt, someOtherInt, name, someBit ) SELECT someInt, someOtherInt, name, 0 FROM dbo.table2 

Vous pouvez également définir une valeur par défaut pour cette colonne dans la table de destination. De cette façon, vous n'auriez pas à tout referencer dans votre instruction d'insertion.

Disons que votre SomeBit est le drapeau actif ou le statut sur une table client. Actif 0 = désactivé / faux / non Actif 1 = activé / vrai / oui.

 ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_Active] DEFAULT ((1)) FOR [Active]