none
Datetime2(0) in Date ändern und die ORDINAL_POSITION anpassen RRS feed

  • Frage

  • Hallo

    Ich möchte in mehreren leeren mssql Tabellen Datentypen ändern (zb. Datetime2(0) in Date)

    wenn ich es soweit richtig verstanden habe geht es eigentlich nur wenn ich die Original Spalte lösche und eine neue anlege.

    Bekomme ich soweit auch hin per SQL

    nun möchte ich gerne das das Feld die Original ORDINAL_POSITION wieder bekommt

    wie kann ich das per SQL erledigen? - geht das überhaupt oder muss ich in dem falle die Tabellen neu aufbauen

    Mittwoch, 23. Oktober 2013 17:03

Antworten

  • Funktioniert das ändern nicht mit Hilfe von ALTER TABLE und ALTER COLUMN?

    ALTER TABLE <tabellenname>
    ALTER COLUMN <name_der_spalte> date() NULL

    Wenn nicht, dann würde ich mit Drop and Create die Tabelle wieder neu aufbauen, wenn sie denn leer ist.


    Servus
    Winfried

    GPOs: http://www.gruppenrichtlinien.de/
    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/


    Mittwoch, 23. Oktober 2013 17:13

Alle Antworten

  • Funktioniert das ändern nicht mit Hilfe von ALTER TABLE und ALTER COLUMN?

    ALTER TABLE <tabellenname>
    ALTER COLUMN <name_der_spalte> date() NULL

    Wenn nicht, dann würde ich mit Drop and Create die Tabelle wieder neu aufbauen, wenn sie denn leer ist.


    Servus
    Winfried

    GPOs: http://www.gruppenrichtlinien.de/
    WSUS Package Publisher: http://wsuspackagepublisher.codeplex.com/


    Mittwoch, 23. Oktober 2013 17:13
  • Hallo Michael,

    den Datentyp kannst Du wie Winfried schreibt über ALTER TABLE ändern - siehe Voraussetzungen und Limitationen dort.

    Die Reihenfolge jedoch ist nur durch ein Neuerstellen der Tabelle zu verändern. Der einzige Fall, in dem die Reihenfolge wichtig (ausgen. ästhetischer Gründe), ist die Verwendung "*" in SELECT Anweisungen.
    Das sollte man in produktivem Code vermeiden und immer die Spaltenliste angeben, so werden Änderungen des Tabellenaufbaus nicht zum Problem für verarbeitenden Code.

    Gruß Elmar

    Mittwoch, 23. Oktober 2013 18:07
    Beantworter