User Defined Data Type

mercoledì 20 settembre 2006 - 11.51

nullatore Profilo | Junior Member

Un saluto a tutti.
Sono nuovo da queste parti come del resto anche dell'ambiente .net
Volevo porre un paio di quesiti sul msSql2005.

Ho creato dei nuovi tipi (user defined data type) pensando di poter semplificare la manutenzione
del mio progetto.
Ma mi accorgo che i tipi creati non possono essere modificati ( ad esempio un tipo tcodice=varchar[4] non lo posso
trasformare in un varchar[5] o magari in un altro tipo).
A questo aggiungo l'impossibilita di cancellare i miei tipi nonostante questi non abbiano nessuna dipendenza con alcunchè)

Ma allora a che servono sti "user defined data type"?

Grazie.

lbenaglia Profilo | Guru

>Ma mi accorgo che i tipi creati non possono essere modificati
>( ad esempio un tipo tcodice=varchar[4] non lo posso
>trasformare in un varchar[5] o magari in un altro tipo).
Vero.

>A questo aggiungo l'impossibilita di cancellare i miei tipi nonostante
>questi non abbiano nessuna dipendenza con alcunchè)
Falso, verifica bene di non aver usato quell'udt nella definizione di qualche colonna, parametro o variabile.

>Ma allora a che servono sti "user defined data type"?
Gli udt "classici" servono a definire un alias "comodo da rcordare" in modo da uniformare la definizione delle stesse colonne in un db. Immagina di avere un database molto complesso con centinaia di tabelle, ed in 10 tabelle devi definire la colonna Indirizzo. Ora, invece che spulciare tutte le tabelle cercando di utilizzare il medesimo varchar(30) definisci un udt Indirizzo e lo utilizzerai ogni qualvolta avrai a che fare con il concetto di Indirizzo (definizione colonne, variabili o parametri nelle sp o udf).

SQL Server 2005 introduce i nuovi udt CLR che permettono di estendere i data type nativi. Questo può risultare particolarmente utile ad esempio per memorizzare correttamente coordinate geografiche, ecc.

Par maggiori dettagli ti rimando ai seguenti paragrafi dei Books Online:

"CLR User-Defined Types"
http://msdn2.microsoft.com/ms131120.aspx

"How to: Create and Run a CLR SQL Server User-Defined Type"
http://msdn2.microsoft.com/a8s4s5dz.aspx

>Grazie.
Prego.

Ciao!

--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

nullatore Profilo | Junior Member

>>Ma mi accorgo che i tipi creati non possono essere modificati
>>( ad esempio un tipo tcodice=varchar[4] non lo posso
>>trasformare in un varchar[5] o magari in un altro tipo).
>Vero.


Peccato. Avrebbe semplificato notevolmente la manutenzione.


>>A questo aggiungo l'impossibilita di cancellare i miei tipi nonostante
>>questi non abbiano nessuna dipendenza con alcunchè)
>Falso, verifica bene di non aver usato quell'udt nella definizione
>di qualche colonna, parametro o variabile.

Nella finestra di eliminazione del UDT in questione ll dbms mi dice che quel UDT na ha dipendenze. Cmq provo a guardare bene...

Grazie.


P.s. Ho postato un altro quesito in un altro thread...visto che sei veloce e competente puoi dargli un occhiata
Arigrazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5