SELECT INTO & NULL
Ich persönlich finde das Erstellen von neuen Tabellen mittels SELECT INTO sehr praktisch und verwende es auch sehr häufig. Dabei ist jedoch zu beachten, dass die Spalten-Typen und deren Eigenschaften bei der Erstellung übernommen werden. Nicht betroffen davon sind [siehe “Limitations and Restrictions”]
- Indexes
- Constrains
- Triggers
Wenn man aber die Tabelle initial mit SELECT INTO erstellt und dann aber größere Feldtypen, oder NULL Values reinschreiben möchte, dann kann man dies beim SELECT INTO indirekt mitgeben.
Select Coalesce(Cast(Spalte1 as varchar(100)),null) as [Spalte1] into TargetTable from SourceTable
Anmerkungen:
- mittels CAST oder CONVERT kann man die Typen ändern.
- mittels COALESCE kann man eine Spalte nullable machen.