Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
User Defined Data Type
mercoledì 20 settembre 2006 - 11.51
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
nullatore
Profilo
| Junior Member
191
messaggi | Data Invio:
mer 20 set 2006 - 11:51
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
5.625
messaggi | Data Invio:
mer 20 set 2006 - 12:01
>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
191
messaggi | Data Invio:
mer 20 set 2006 - 14:48
>>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
Torna su
Stanze Forum
Elenco Threads
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 !