none
Default Constraint hinzufügen RRS feed

  • Frage

  • Hallo,

    ich soll ein SQL-Skript generieren, dass den SQL-Typ eines Feldes

    von Integer auf Decimal(10,3) setzt. Auf diesem Feld ist aber noch ein Default-Constraint.

    Um das Feld zu verändern lösche ich den Constraint zuerst. Da der Constraint aber am Ende erhalten bleiben soll, muss er irgendwie wieder hinzugefügt werden.

    Die SQL-Skripte sehen zur Zeit so aus:

    ALTER TABLE X ALTER COLUMN XF DROP XF_CONSTRAINT
    ALTER TABLE X ALTER COLUMN XF DECIMAL(10,3) NOT NULL

    Gibt es einen Weg um einen Default-Constraint zu einem bestimmten Feld hinzuzufügen, ohne dass ich ihn in der 2. Zeile angeben muss. Also so etwas wie ADD Constraint ... .

    Die SQL-Skripte müssen zudem aus Java heraus ausgeführt werden können. Folglich kann ich wahrscheinlich keine TSQL-Befehle nutzen.

    Hoffe jemand kann mir da weiterhelfen

    Grüße Michael Pav

     

    Dienstag, 12. Juni 2012 08:41

Antworten

  • Hallo Michael,

    ein Einschränkung kannst Du über ALTER TABLE hinzufügen, für oben:

    ALTER TABLE X
    	 DROP CONSTRAINT XF_CONSTRAINT;
    ALTER TABLE X
    	ALTER COLUMN XF DECIMAL (10, 3) NOT NULL
    ALTER TABLE X 
    	ADD CONSTRAINT XF_CONSTRAINT DEFAULT (0) 
    	FOR XF;
    

    Und DDL-SQL kannst Du in Java über JDBC ausführen, entsprechend einem INSERT usw.
    Schau Dir mal an:
    http://stackoverflow.com/questions/1497569/how-to-execute-sql-script-file-using-jdbc
    da gibt es einen Schnipsel den iBatis verwendet.

    Gruß Elmar

    • Als Antwort vorgeschlagen Olaf HelperMVP Dienstag, 12. Juni 2012 13:15
    • Als Antwort markiert Michael Pav Dienstag, 12. Juni 2012 15:10
    Dienstag, 12. Juni 2012 09:32
    Beantworter

Alle Antworten