C# - MS SQL tárolt eljárások

MS SQL tárolt eljárások 14. rész

forráskód letöltése
Az MS SQL-ben lehetőség van ún. felhasználói adattípusok létrehozására. A létrehozott típusokat ezután ugyanúgy használhatjuk, mint a standard adattípusokat táblák, adatszerkezetek, változók létrehozásakor. Ebben a részben azt vizsgáljuk meg, hogy az MS SQL tárolt eljárásaival hogyan hozhatunk létre ilyen felhasználó adattípust, valamint egy egyszerű felhasználási módot is bemutatunk.
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.

MS SQL tárolt eljárások cikksorozat