Datentypänderung mit Systemtabellen

Wenn sich Daten­ty­pen im Vor­sys­tem, aus wel­chem Daten in Tabel­len einer SQL-Ser­ver-Daten­bank impor­tiert wer­den, ändern, ist oft gro­ßer manu­el­ler Auf­wand not­wen­dig um alle betrof­fe­nen Tabel­len und Spal­ten zu iden­ti­fi­zie­ren und anzu­pas­sen. In die­sem Bei­trag wird eine Lösung mit­hil­fe von Sys­tem­ta­bel­len vor­ge­schla­gen, die es ermög­licht, die Daten­ty­pän­de­rung auto­ma­tisch per Pro­ze­dur vor­zu­neh­men.

Den gesam­ten Arti­kel kön­nen Sie hier abru­fen.

Zusatz­ma­te­ri­al fin­den Sie hier.

Ein Gedanke zu “Datentypänderung mit Systemtabellen

  1. Wich­ti­ger Hin­weis zum JOIN mit der sys.types Tabel­le.
    Zum Joi­nen unbe­dingt die Spal­te user_­ty­pe_id” statt sys­te­m_­ty­pe_id” ver­wen­den. Aus irgend ienem Grund ist die sys­te­m_­ty­pe_id bei NVARCHAR und SYSNAME iden­tisch was zu einer Ver­dop­pe­lung der Daten­sät­ze führt. User_­ty­pe_id ist uni­que.
    Wei­ter­hin ist die max_­length beim Daten­typ NVARCHAR genau dop­pelt so groß wie defi­niert. Also in dem Fall ent­we­der den Wert durch 2 tei­len oder die Infor­ma­ti­on über INFORMATION_SCHEMA.COLUMNS ermit­teln. Da zeigt die Spal­te CHARACTER_MAXIMUM_LENGTH den kor­rek­ten Wert.

Schreibe einen Kommentar