01_sp_addtype_1.sql: Adattípusok létrehozása
A saját adattípusoknak tetszőleges nevet választhatunk, ami már előre jelezheti a felhasználási területeit. Új adattípust az sp_addtype tárolt eljárással tudunk létrehozni. Ennek szintaxisa a következő:
sp_addtype [ @typename = ] type, [ @phystype = ] system_data_type [ , [ @nulltype = ] 'null_type' ] [ , [ @owner = ] 'owner_name' ]
Az eljárás paraméterei a következők:
typename
Az adattípus nevét adhatjuk meg ebben a paraméterben. A névnek meg kell felelnie az azonosítók nevére vonatkozó szabályoknak, és az egész adatbázis belül egyedinek kell lennie.
phystype
Minden felhasználó adattípus egy standard adattípusból lesz létrehozva. Ebben a paraméterben azt határozhatjuk meg, hogy melyik lesz ez az adattípus. A használható adattípusok az alábbi táblázatban láthatók:
| Típus (oszlop 1) |
Típus (oszlop 2) |
Típus (oszlop 3) |
| 'binary( n )' |
int |
smallint |
| bit |
'nchar( n )' |
text |
| 'char( n )' |
ntext |
tinyint |
| datetime |
numeric |
uniqueidentifier |
| decimal |
'numeric[ ( p [ , s ] ) ]' |
'varbinary( n )' |
| 'decimal[ ( p [, s ] ) ]' |
'nvarchar( n )' |
'varchar( n )' |
| float |
real |
- |
| image |
smalldatetime |
- |
A táblázatban szereplő karakterek jelentése:
- n – pozitív egész szám, ami az adott adattípus hosszát határozza meg;
- p – a tizedespont előtti és utáni számjegyek maximális száma;
- s – a tizedespont utáni számjegyek maximális száma (pontosság).
nulltype
Ebben a paraméterben rendelkezhetünk arról, hogy a NULL értéket hogyan fogadja az adattípus. értékei az alábbiak lehetnek:
| Érték |
jelentés |
| NULL |
a NULL érték engedélyezve van az adattípusban |
| NOT NULL vagy NONULL |
a NULL érték nincs engedélyezve az adattípusban |
Ez csak egy alapértelmezett értelmezést ad meg, például a táblák létrehozásánál a mező deklarációnál felülbírálhatjuk a NULL, vagy a NOT NULL kapcsolókkal.
owner
Az adattípus tulajdonosa vagy létrehozója.
exec sp_addtype @typename='EmpName', @phystype='varchar(80)';
03_sp_droptype.sql: Adattípusok törlése
Ha már nincs szükség egy általunk létrehozott adattípusra, akkor az sp_droptype eljárással törölhetjük. Csak olyan adattípust lehet törölni, amire sehol nincs hivatkozás. Az eljárás szintaxisa a következő:
sp_droptype [ @typename = ] 'type'
Paraméterek:
typename
A törlendő adattípus neve.