MSSQL-Tabellen per SQL anpassen

Mischa Sameli, Geschäftsführer & Leiter Entwicklung

Weil ich's mir selber nie merken kann und damit ich nicht immer meine Hilfen durchackern muss, poste ich ein paar Muster zum bearbeiten von Datenbank-Spalten.

1. Eine neue Spalte anlegen ist recht simpel mit alter table:

1IF NOT EXISTS(SELECT * FROM information_schema.columns WHERE table_name = 'Design_Domain_Join' AND column_name = 'PID')
2BEGIN
3    ALTER TABLE [Design_Domain_Join] ADD [PID] int NOT NULL default 0
4END

Hier wird der Tabelle Design_Domain_Join eine numerische Spalte PID hinzugefügt, die nicht leer sein darf und per default 0 ist. Die Aktion wird nur ausgeführt, wenn die Spalte nicht bereits existiert.

2. Ebenfalls mit alter table können die Spaltendefinitionen bearbeitet werden:

1IF EXISTS(SELECT * FROM information_schema.columns WHEE table_name = 'guestbook' AND column_name = 'strName')
2BEGIN
3    ALTER TABLE guestbook ALTER COLUMN strName varchar(255) NULL
4END

Hier wird der Spalte strName eine neue Feldgrösse für den Varchar mitgegeben. Vorher war varchar(50) eingestellt, was aber zu Problemen geführt hat bei langen Namen.

3. Über eine Store Procedure lässt sich auch eine Spalte umbenennen:

1EXEC sp_rename 'Eventsdefault.idxstrOrtonline', 'idxOrtonline', 'COLUMN'

Hier wird in der Tabelle Eventsdefault die Spalte (COLUMN) idxstrOrtonline umbenannt in idxOrtonline.