Wie verändern benutzerdefinierten Tabellentypen
Ich habe schon versucht das zu ändern und den benutzerdefinierten Tabellentypen, aber es funktioniert nicht mit alter commend.
alter TYPE [dbo].[GriDDateTab] AS TABLE(
[Application [varchar](50) NOT NULL,
[LandDist] [char](2) NULL,
[Land] [char](3) NULL,
[LandVi] [char](4) NULL)
Wenn Sie noch sah an der offizielle MSDN SQL Server-Onlinedokumentation - man würde es sehen, kein
Ändern
auch wenn die OP hatte blickte auf die docs, die Sie zitieren, seine Frage war nicht ungültig. Während die syntax "ALTER ART" wird nicht aufgeführt, es als eine option, es wäre töricht, ihn zu Rabatt auf die Idee, dass gab es eine andere syntaktische Variante erforderlich sind, um das Ergebnis. Während es muss gute Gründe für die SQL-devs nicht möglich, so ist Es sicherlich nicht lächerlich scheinen auf der Oberfläche, ist dies nicht möglich. Als erstes benötigt, löschen Sie alle Verweise auf Objekte ist ziemlich Drakonisch.
absolut - das fehlen von
ALTER TYPE
- Anweisung. Nur gibt es da nicht. Sie müssen zum löschen Ihrer Art und erstellen Sie Sie neu, frisch.Ändern
[Application
zu [Application]
;).auch wenn die OP hatte blickte auf die docs, die Sie zitieren, seine Frage war nicht ungültig. Während die syntax "ALTER ART" wird nicht aufgeführt, es als eine option, es wäre töricht, ihn zu Rabatt auf die Idee, dass gab es eine andere syntaktische Variante erforderlich sind, um das Ergebnis. Während es muss gute Gründe für die SQL-devs nicht möglich, so ist Es sicherlich nicht lächerlich scheinen auf der Oberfläche, ist dies nicht möglich. Als erstes benötigt, löschen Sie alle Verweise auf Objekte ist ziemlich Drakonisch.
absolut - das fehlen von
ALTER TYPE
wirklich macht den Benutzer-definierten Typen fast nutzlos - zumindest für michInformationsquelleAutor ganesh | 2015-04-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie zu löschen und neu zu erstellen. Das bedeutet, dass, wenn Sie irgendwelche Referenzen (z.B. gespeicherte Prozeduren), über die Art, den Verweis entfernt werden muss.
InformationsquelleAutor dmeglio
Die schlechte Nachricht ist, dass Sie zu löschen und neu zu erstellen, da SQL server nicht (zumindest nicht bis 2012 zu unterstützen.
Die gute Nachricht ist, dass gespeicherte Prozeduren und Funktionen sollten pick up-Tabelle geben Sie die änderungen on-the-fly, keine Notwendigkeit zu löschen und neu zu erstellen.
-- das folgende Skript demostrates, dass (mindestens ab dem Jahr 2014, es funktioniert create type t_demo als Tabelle (intfield int) go create procedure p_demo as declare @t t_demo begin select * from @t end go exec p_demo gehen Sie drop type t_demo go create type t_demo als Tabelle (int intfield, textfield nvarchar(50)) go exec p_demo
InformationsquelleAutor Ed Green
Leider alles sagte, ist wahr, aber Sie können sparen Sie sich einige Zeit durch, gehen Sie zu dem Kontextmenü der Tabelle den Typ->Script Benutzer-Definierten Tabelle Geben..
Wenn Sie verwenden, löschen und ERSTELLEN Auf Abfrage-Fenster können Sie machen Sie Ihre änderungen und klicken Sie auf ausführen.
Werden Sie noch haben, neu zu erstellen Referenzen in anderen Programmierbarkeit Strukturen.
InformationsquelleAutor DavidRothbauer