Comment permettre à des tables temporaires pour accepter les valeurs null
Si vous créez des tables temporaires à l'aide de "insert into" dans SQL Server, il utilise la première insertion de déterminer si une colonne accepte la valeur null ou pas. si la première insertion a la valeur null la colonne devenir nullable sinon il ne sera pas les valeurs null.
Est-il un moyen de créer des tables temporaires à l'aide de "insert into" pour accepter les valeurs null?
Exemple
Cela fonctionne sans aucun problème
Select 'one' as a , null as b
into #temp
insert into #temp
Select 'two' as a , 500 as b
Toutefois, cela jette "Impossible d'insérer la valeur NULL dans la colonne 'b'"
Select 'one' as a , 500 as b
into #temp
insert into #temp
Select 'two' as a , null as b
Je sais que je pourrais faire create Table
ou alter column
déclaration, mais je veux le faire sans avoir à réécrire des centaines de requêtes existantes.
Double Possible de stackoverflow.com/questions/5465245/...
Il travaillera si vous insérez faux enregistrement au tout début avec
Oui, il fonctionne, mais c'est une mauvaise façon de résoudre ce
Connaissez-vous la bonne solution. Si oui, vous pouvez répondre à votre question ainsi tout le monde saura la solution. Ou pourriez-vous préciser ce qui est mauvais dans la façon dont fonctionne? Je vous remercie.
Pourquoi la bosse? C'est déjà répondu dans le double lien ci-dessus.
Il travaillera si vous insérez faux enregistrement au tout début avec
NULL
que la valeur de ces deux colonnes?Oui, il fonctionne, mais c'est une mauvaise façon de résoudre ce
Connaissez-vous la bonne solution. Si oui, vous pouvez répondre à votre question ainsi tout le monde saura la solution. Ou pourriez-vous préciser ce qui est mauvais dans la façon dont fonctionne? Je vous remercie.
Pourquoi la bosse? C'est déjà répondu dans le double lien ci-dessus.
OriginalL'auteur Smith | 2013-03-07
Vous devez vous connecter pour publier un commentaire.
Comment à ce sujet?
OriginalL'auteur Robin
Je voudrais contourner ce problème en créant explicitement table temporaire avant la première insertion.
OriginalL'auteur Piotr Borowczynski