|
|
MS SQL tárolt eljárások
MS SQL tárolt eljárások 9. rész
|
|
Példaprogram letöltése
9815 bájt
|
Egy MS SQL adatbázis rengeteg objektumot tartalmaz, amelyekről időnként jó lenne némi információt szerezni. Erre több lehetőségünk van, mivel az MS SQL számos olyan tárolt eljárást tartalmaz, amelyek kifejezetten az objektumok adatainak lekérdezésére szolgálnak. Ebben a részben most egy olyan tárolt eljárást mutatunk be, amely általánosan használható akár táblák, oszlopok, adattípusok, vagy más egyéb objektumok adatainak lekérdezésére.
Az objektumokról információt az sp_help tárolt eljárással szerezhetünk. Vannak persze ezen kívül is olyan eljárások, amelyekkel egy-egy adott objektum adatairól kaphatunk részletes tájékoztatást.
Ezzel az eljárással információkat kaphatunk az adatbázis objektumairól (sysobjects tábla), vagy az adattípusokról.
sp_help [ [ @objname = ] name ]
Paramétere csak egy van, de azt sem kötelező megadni:
objname
Annak az objektumnak a neve, amelyről információkat szeretnénk kérni. Az eljárás jellemzője, hogy több eredménylistát ad vissza. Ha paraméter nélkül futtatjuk az eljárást, akkor egy listát kapunk az adatbázis objektumairól az alábbi formátumban:
| Mező |
Típus |
Leírás |
| Name |
nvarchar(128) |
Az objektum neve. |
| Owner |
nvarchar(128) |
A tulajdonos neve. |
| ObjectType |
nvarchar(31) |
Az objektum típusa. |
Ha paraméterként egy adattípus nevét adtuk meg, akkor az alábbi listát kapjuk eredményül:
| Mező |
Típus |
Leírás |
| Type_name |
nvarchar(128) |
az adattípus neve |
| Storage_type |
nvarchar(128) |
SQL szerver típus neve |
| Length |
smallint |
az adattípus fizikai mérete bájtban |
| Prec |
int |
precizitás (számjegyek száma) |
| Scale |
int |
a tizedes pont utáni számjegyek száma |
| Nullable |
varchar(35) |
a NULL érték engedélyezett-e |
| Default_name |
nvarchar(128) |
a típus alapértelmezett neve (NULL, ha nincs ilyen) |
| Rule_name |
nvarchar(128) |
a típusra vonatkozó szabály neve (NULL ha nincs ilyen) |
| Collation |
sysname |
karakterkészlet |
A lekérdezett objektum típusától függően az sp_help eljárás további eredménylistákat is készít. Ha a lekérdezett objektum egy rendszertábla, tábla vagy nézet, akkor az alábbi listákat is megkapjuk:
- Az oszlopok adatait tartalmazó lista
| Mező |
Típus |
Leírás |
| Column_name |
nvarchar(128) |
az oszlop (mező) neve |
| Type |
nvarchar(128) |
a mező típusa |
| Computed |
varchar(35) |
kalkulált mező-e („yes” igen, „No” nem) |
| Length |
int |
mező hossza bájtban |
| Prec |
char(5) |
percízitás |
| Scale |
char(5) |
tizedesjegyek száma |
| Nullable |
varchar(35) |
NULL értéket tartalmazhat-e („yes” vagy „no”) |
| TrimTrailingBlanks |
varchar(35) |
a bevezető szóközöket levágja-e („yes” vagy „no”). |
| FixedLenNullInSource |
varchar(35) |
csak a visszafelé kompatibilitás miatt |
| Collation |
sysname |
karakterkészlet |
- Az automatikusan egyedi értéket kapó (identity) mezők adatait tartalmazó lista:
| Mező |
Típus |
Leírás |
| Identity |
nvarchar(128)a mező neve |
| Seed |
numeric |
az oszlophoz tartozó kezdőérték |
| Increment |
numeric |
az új érték ennyivel tér el az előző értéktől |
| Not For Replication |
int |
lehet-e két egyforma érték ugyanebben az oszlopban (1 = igen, 0 = nem) |
- További adatok az oszlopokról
| Mező |
Típus |
Leírás |
| RowGuidCol |
sysname |
GUID típusú oszlopok neve |
- Adatok a fájlcsoportokról
| Mező |
Típus |
Leírás |
| Data_located_on_filegroup |
nvarchar(128) |
a fájlcsoport, amiben az adatok találhatók (elsődleges, másodlagos, vagy tranzakciós napló). |
- Információk az indexekről
| Mező |
Típus |
Leírás |
| index_name |
sysname |
az index neve |
| index_description |
varchar(210) |
index leírása |
| index_keys |
nvarchar(2078) |
az indexben szereplő oszlopok nevei |
- Információk a megszorításokról (az adatokra vonatkozó szabályokról)
| Mező |
Típus |
Leírás |
| constraint_type |
nvarchar(146) |
a megszorítás típusa |
| constraint_name |
nvarchar(128) |
neve |
| delete_action |
nvarchar(9) |
a DELETE művelet hogyan viselkedik: No Action, CASCADE, vagy N/A. |
| (csak a FOREIGN KEY-hez tartozó megszorításoknál) |
| update_action |
nvarchar(9) |
mint a delete_action, de az UPDATE műveletnél. |
| status_enabled |
varchar(8) |
a megszorítás engedélyezett-e, vagy sem (Enabled, Disabled vagy N/A) status_for_replication |
varchar(19) |
a megszorítás sokszorozható |
| constraint_keys |
nvarchar(2078) |
a megszorítást használt oszlopok nevei |
- Hivatkozott objektumok listája
| Mező |
Típus |
Leírás |
| Table is referenced by |
nvarchar(516) |
a táblára hivatkozó objektum |
Ha a lekérdezett objektum egy tárolt eljárás, akkor az alábbi listát kapjuk:
| Mező |
Típus |
Leírás |
| Parameter_name |
nvarchar(128) |
tárolt eljárás paraméter neve |
| Type |
nvarchar(128) |
tárolt eljárás paraméter típusa |
| Length |
smallint |
a fizikai tároláshoz szükséges maximális méret bájtban |
| Prec |
int |
precizitás (számjegyek maximális száma) |
| Scale |
int |
a tizedesjegyek száma |
| Param_order |
smallint |
a paraméter sorszáma |
|
Könyv
Ez a cikk megtalálható ebben a könyvben:
C# Software Offline 2002 évkönyv 378. oldal
Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!
|