Comment modifier définis par l'utilisateur les types de table
J'ai déjà essayé de modifier l'utilisateur défini des types de table, mais il ne fonctionne pas avec alter féliciter.
alter TYPE [dbo].[GriDDateTab] AS TABLE(
[Application [varchar](50) NOT NULL,
[LandDist] [char](2) NULL,
[Land] [char](3) NULL,
[LandVi] [char](4) NULL)
Si vous avez encore regardé au officiel MSDN SQL Server Books Online - vous le voyez il y a ne
Changement
même si l'OP a regardé les docs que vous citez, sa question n'était pas invalide. Bien que la syntaxe "ALTER TYPE" n'est pas répertoriée comme une option, il aurait été idiot de lui écarter l'idée qu'il y avait une variation syntaxique nécessaire pour parvenir à ce résultat. Alors qu'il doit y avoir de bonnes raisons pour le SQL devs de ne pas permettre que cela, Ce n'est certainement sembler ridicule sur la surface que ce n'est pas possible. D'abord nécessaire pour supprimer toutes référence à des objets est assez draconiennes.
absolument - le manque de
ALTER TYPE
déclaration. N'est tout simplement pas là. Vous avez besoin de déplacer votre type et de la re-créer frais.Changement
[Application
à [Application]
;).même si l'OP a regardé les docs que vous citez, sa question n'était pas invalide. Bien que la syntaxe "ALTER TYPE" n'est pas répertoriée comme une option, il aurait été idiot de lui écarter l'idée qu'il y avait une variation syntaxique nécessaire pour parvenir à ce résultat. Alors qu'il doit y avoir de bonnes raisons pour le SQL devs de ne pas permettre que cela, Ce n'est certainement sembler ridicule sur la surface que ce n'est pas possible. D'abord nécessaire pour supprimer toutes référence à des objets est assez draconiennes.
absolument - le manque de
ALTER TYPE
vraiment rend les types définis par l'utilisateur presque inutile - au moins pour moiOriginalL'auteur ganesh | 2015-04-25
Vous devez vous connecter pour publier un commentaire.
Vous devez supprimer et recréer. Cela signifie que si vous avez des références (par exemple, procédures stockées) en utilisant le type, la référence doit être retiré en premier.
OriginalL'auteur dmeglio
La mauvaise nouvelle est que vous devez supprimer et recréer que SQL server n'a pas (au moins pas jusqu'en 2012 l'appui de cette.
La bonne nouvelle, c'est que les procédures stockées et les fonctions doivent ramasser type de table des changements à la volée, sans avoir besoin de supprimer et de recréer.
-- le script suivant demostrates (au moins à partir de 2014, il fonctionne de créer le type de t_demo de table (intfield int) allez créer de procédure p_demo que de déclarer @t t_demo commencer select * from @t fin aller exec p_demo aller drop type t_demo aller créer le type de t_demo de table (intfield int, textfield nvarchar(50)) go exec p_demo
OriginalL'auteur Ed Green
Malheureusement tout ce qui est dit est vrai, cependant, vous pouvez vous épargner un peu de temps en allant dans le menu contextuel de la table type->Script Défini par l'Utilisateur Type de Table que..
Si vous utilisez de suppression et de création De Fenêtre de Requête, vous pouvez faire vos modifications et cliquez sur exécuter.
Vous aurez toujours à recréer des références dans d'autres Programmabilité des structures.
OriginalL'auteur DavidRothbauer