2014-06-19 17 views
5

Sto facendo un'istruzione SELECT INTO per creare una nuova tabella da alcuni valori in un'altra tabella. Voglio aggiungere due colonne in più alla tabella appena creata (pol_eff_dt, pol_exp_dt) e renderle inizialmente tutte NULL (queste colonne esistono anche nella tabella di origine in modo che altrimenti estraggono tali dati). Devo anche assicurarmi che si presentino come tipi DATETIME. Come posso lanciarli in questo modo? Ho provato un sacco di cose, ma nulla verrà compilato.aggiungi colonne aggiuntive in un'istruzione 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

È possibile modificare la tabella risultante e aggiungere le colonne dopo INSERT –

risposta

8

Si può provare a lanciare la NULL esplicitamente come DATETIME, in questo modo:

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. Nella demo, se cambi il tipo di cast delle 2 colonne extra, quindi prova ad assegnare un valore DATETIME, otterrai un errore di conversione.

+0

Sembra che funzioni. Grazie! – intA