Jeśli utworzysz tabele tymczasowe za pomocą "wstawiania do" w SQL Server, używa pierwszej wstawki do określenia, czy kolumna przyjmuje wartość pustą, czy nie. jeśli pierwsza wstawka ma wartość pustą, kolumna staje się zerowa, w przeciwnym razie nie będzie możliwa do zniesienia.Jak zezwolić tabelom tymczasowym na akceptowanie wartości pustych
Czy istnieje sposób tworzenia tabel tymczasowych przy użyciu opcji "wstaw do", aby zaakceptować wartości puste?
Przykład
Działa to bez problemu
Select 'one' as a , null as b
into #temp
insert into #temp
Select 'two' as a , 500 as b
Jednak to rzuca "Nie można wstawić wartość NULL w kolumnie 'b'"
Select 'one' as a , 500 as b
into #temp
insert into #temp
Select 'two' as a , null as b
Wiem, że mógłbym zrobić create Table
lub alter column
oświadczenie, ale chcę to zrobić bez przepisywania setek istniejących zapytań.
Możliwy duplikat - http://stackoverflow.com/questions/5465245/create-a-nullable-column-using-sql-server-select-into – steoleary
Będzie to działać, jeśli włożysz fałszywy rekord u bardzo zaczynając od 'NULL' jako wartości obu kolumn? – Serg
@Serg Tak, to zadziała, ale jest to zły sposób na rozwiązanie tego problemu. – Smith