Come modificare definito dall’utente tipi di tabella

Ho già provato a modificare l’utente definiti i tipi di tabella ma non funziona con l’alter raccomando.

alter TYPE [dbo].[GriDDateTab] AS TABLE(
    [Application [varchar](50) NOT NULL,
    [LandDist] [char](2) NULL,
    [Land] [char](3) NULL,
    [LandVi] [char](4) NULL)
  • Se hai nemmeno guardato la ufficiale MSDN Documentazione Online di SQL Server – vuoi vedere che c’ non ALTER TYPE istruzione. Proprio non c’è. È necessario rilasciare il tuo tipo e ri-creare fresca.
  • Cambiare [Application per [Application] ;).
  • anche se l’OP aveva guardato i documenti che citano, la sua domanda non era valido. Mentre la sintassi “ALTER TIPO” non è elencato come opzione, sarebbe stato sciocco per lui di sconto l’idea che ci fosse qualche altra variazione sintattica necessari per raggiungere il risultato. Mentre ci devono essere delle buone ragioni per SQL sviluppatori di non permettere che questo, di certo non sembrare ridicolo sulla superficie che questo non è possibile. Essere il primo per l’eliminazione di tutti i riferimenti a oggetti è abbastanza draconiane.
  • assolutamente la mancanza di ALTER TYPE davvero rende i tipi definiti dall’utente quasi inutile, almeno per me
InformationsquelleAutor ganesh | 2015-04-25



3 Replies
  1. 8

    È necessario eliminare e ricreare. Ciò significa che se avete tutti i riferimenti (ad esempio, stored procedure) utilizzando il tipo che il riferimento deve essere rimosso per primo.

    • La cattiva notizia è che questo sarà anche di eliminare eventuali diritti sull’oggetto…
  2. 1

    La cattiva notizia è che è necessario eliminare e ricreare come SQL server non (almeno non fino al 2012 sostegno di questa.

    La buona notizia è che le stored procedure e funzioni devono ritirare il tipo di tabella delle modifiche al volo senza bisogno di eliminare e ricreare.

    • Non credo che la buona notizia è vera, vedere le altre risposte
    • — il seguente dimostra le caratteristiche dello script che (almeno a partire dal 2014 lavora creare tipo t_demo come tabella (intfield int) vanno create procedure p_demo as declare @t t_demo begin select * from @t go exec p_demo andare a goccia tipo t_demo andare a creare il tipo di t_demo come tabella (intfield int, textfield di tipo nvarchar(50)) vai exec p_demo
    • Non sembra registrare come una dipendenza, se non è un parametro. Ad ESEMPIO, definire la stored procedure in questo modo: create procedure p_demo (@t t_demo READONLY) as begin select * from @t go. E vedrai il problema. Meh. Non so perché. Non riesco a trovare nulla sulle dipendenze il param defs.
  3. 0

    Purtroppo tutto ciò che ha detto è vero, tuttavia è possibile risparmiare tempo andando al menu di contesto del tipo di tabella->Script Tipo Definito dall’Utente Tabella come..

    Se si utilizza l’eliminazione e CREAZIONE Di una Finestra di Query è possibile apportare le modifiche desiderate e fare clic su esegui.

    Si avrà ancora per ricreare riferimenti in altre Programmabilità strutture.

Lascia un commento