2014-06-19 25 views
5

Wykonuję instrukcję SELECT INTO, aby utworzyć nową tabelę z niektórych wartości z innej tabeli. Chcę dodać dwie dodatkowe kolumny do nowo utworzonej tabeli (pol_eff_dt, pol_exp_dt) i sprawić, by były początkowo NULL (kolumny te istnieją również w tabeli źródłowej, aby w przeciwnym razie byłyby pobierane przez te dane). Muszę również upewnić się, że pojawią się jako typy DATETIME. Jak mogę je rzucić w ten sposób? Próbowałem wielu rzeczy, ale nic się nie skompiluje.dodaj dodatkowe kolumny w instrukcji SELECT INTO

SELECT DISTINCT bnd_ser_nbr, 
trans_nbr, 
uws_product_cd, 
bill_id, 
NULL AS pol_eff_dt, 
NULL AS pol_exp_dt 
INTO ER_RO_urs_prem_detail 
FROM urs_prem_detail_interim 
+0

Można wykonać wynikową tabelę i dodać kolumny po INSERT –

Odpowiedz

8

Można spróbować odlewania NULL wyraźnie jak DATETIME, tak:

SELECT DISTINCT bnd_ser_nbr, 
trans_nbr, 
uws_product_cd, 
bill_id, 
CAST(NULL AS DATETIME) AS pol_eff_dt, 
CAST(NULL AS DATETIME) pol_exp_dt 
INTO ER_RO_urs_prem_detail 
FROM urs_prem_detail_interim 

Demo here. W wersji demo, jeśli zmienisz typ, do którego są wysyłane 2 dodatkowe kolumny, a następnie spróbujesz przypisać wartość DATETIME, pojawi się błąd konwersji.

+0

Wygląda na to, że zadziałało. Dziękuję Ci! – intA

Powiązane problemy