Als Deutscher Softwareentwickler in der Schweiz

Landstrasse

Drive your own Way

Share now

Hier mal eine einfache Version mit purem T-SQL zum setzen von DEFAUL-Values eines Feldes.

DECLARE
  @sql AS nvarchar(1000)

--- isActive = 1
IF NOT EXISTS (SELECT * FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'sys_User') AND name = 'isActive')
BEGIN
  print 'create field with defaults';
  SET @sql = 'ALTER TABLE sys_User ADD isActive BIT DEFAULT (1) NULL';
  EXEC sp_executesql @sql;
END ELSE
  BEGIN
    IF (SELECT cdefault FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'sys_User') AND name = 'isActive') > 0
      BEGIN
        print 'drop contraint';
        SET @sql = 'ALTER TABLE sys_User DROP CONSTRAINT ' +(SELECT name FROM sysobjects WHERE id = (SELECT cdefault FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'sys_User') AND name = 'isActive'));
        EXEC sp_executesql @sql;
      END
    print 'add contraint'
    SET @sql = 'ALTER TABLE sys_User ADD CONSTRAINT DF_'+(SELECT REPLACE(NEWID(),'-','_')) +' DEFAULT (1) FOR isActive';
    EXEC sp_executesql @sql;
  END

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Related Posts

Tax Wars

Warum Erklärung keine Religion braucht

Warum Erklärung keine Religion braucht Viele Menschen glauben nicht aus Überzeugung, sondern weil sie denken, dass ohne Religion grundlegende Fragen unbeantwortet bleiben. Dieser Beitrag zeigt

Get in touch

872 Arch Ave.
Chaska, Palo Alto, CA 55318
hello@example.com
ph: +1.123.434.965

Business inquiries

hello@example.com
ph: +1.321.989.645