C# - SET parancsok

Transact SQL 28. rész

forráskód letöltése
Az MS SQL-ben különböző beállításokat módosíthatunk a SET parancsokkal. Ebben a részben ezek közül a leggyakrabban használt parancsokat nézzük meg. Megvizsgáljuk, hogy hogyan tudjuk beállítani az adatbázis nyelvét (ami hatással van például a dátumok megjelenítésére), a dátum formátumot, a NULL értékű szöveges adatok összefűzésének eredményét befolyásoló kapcsolót, a lekérdezés által visszaadott sorok maximális számát, a hosszú szöveges mezők maximális méretét, stb.
SET LANGUAGE <név>
Ezzel a paranccsal kiválaszthatjuk a használandó nyelvet. A használható nyelveket a syslanguages tábla tartalmazza. Ennek a táblának az alias mezőjében lévő nevet kell megadni a <név> paraméterként. A használt nyelv meghatározza a dátum formátumot, a hét első napjának számát (1 vagy 7), a hónapok teljes és rövidített neveit, valamint a napok neveit.
A magyar nyelv kiválasztása a következőképpen történhet:
SET LANGUAGE magyar;
SET DATEFIRST
Ezzel a paranccsal megadhatjuk, hogy a hét melyik napja számít a hét első napjának. A hétfő értéke 1, a vasárnapé 7. Ha tehát azt szeretnénk, hogy a hétfő számítson egy hét első napjának, akkor a következő parancsot kell kiadnunk:
SET DATEFIRST 1
SET DATEFORMAT <formátum>
Ezzel a paranccsal a dátum formátumot adhatjuk meg. A dátum formátum nem fogja befolyásolni a dátumok megjelenítését a lekérdezésekben, de a dátumok megadásánál ezt kell figyelembe vennünk. A formátum egy három karakteres sztring, amely az „y” (év), „m” (hónap) és „d” (nap) betűket tartalmazhatja bármilyen sorrendben. Az alábbi példában a dátum formátumot úgy állítjuk be, hogy a dátumot év/hónap/nap sorrendben lehessen megadni:
SET DATEFORMAT ymd;
DECLARE @datum DATETIME;
SET @datum = '2002/12/31';
SET CONCAT_NULL_YIELDS_NULL <ON/OFF>
Ezzel a paranccsal azt adhatjuk meg, hogy szöveges adatok összefűzésénél mi történjen, ha az egyik adat érték NULL. Ha paraméterként az ON-t adjuk meg, akkor az eredmény NULL lesz abban az esetben, ha valamelyik összefűzendő adat értéke NULL. Ha az OFF-ot adjuk meg, akkor a NULL értékű sztringeket üres sztringként értelmezi, és az eredmény is ennek megfelelően alakul.
SET NOCOUNT <ON/OFF>
Amikor az SQL Query Analyzer-ben futtatunk egy SELECT lekérdezést, vagy UPDATE, INSERT vagy DELETE utasítást, akkor a Messages ablakban megjelenik egy üzenet, hogy a művelet hány rekordot érintett. Ha a paraméter ON, akkor ez az üzenet nem fog megjelenni.
SET NOEXEC <ON/OFF>
Ha a kapcsoló be van kapcsolva (ON), akkor a lekérdezést lefordítja, de nem fogja futtatni. Ezt akkor használhatjuk ki jól, ha egy hosszabb kötegelt lekérdezést (script-et) írunk, és közben ellenőrizni akarjuk, hogy a szintaxisban nem vétettünk-e hibát.
SET NUMERICROUNDABORT <ON/OFF>
Ha a kapcsoló értéke ON, akkor a lekérdezéseknél, módosításoknál hibát okoz az, ha egy matematikai művelet eredménye nem lesz pontos a szükségszerű kerekítések miatt (pl. az adattípus miatt).
A kapcsolót ki kell kapcsolni (OFF) akkor, ha indexeket hozunk létre vagy módosítunk.
SET PARSEONLY <ON/OFF>
Ha a kapcsoló be van kapcsolva (ON), akkor ellenőrzi az SQL script szintaktikáját és ha hibát talál akkor azt közli, de mindezt anélkül teszi meg, hogy lefordítaná és futtatná a lekérdezést.
SET ROWCOUNT <number>
Ezzel a paranccsal megadhatjuk, hogy a lekérdezések hány sor feldolgozása után álljanak le automatikusan. Ezzel tulajdonképpen a TOP kulcsszót helyettesíthetjük.
Ha ki akarjuk kapcsolni a korlátozást, akkor a SET ROWCOUNT 0 parancsot kell kiadnunk.
SET TEXTSIZE <size>
Hosszú szöveges mezőknél ezzel a paranccsal korlátozhatjuk a lekérdezett szövegek maximális hosszát. Ha a mezőben lévő adat túllépné a megadott hosszt, akkor a „kilógó” részt egyszerűen levágja. A korlátozás csak a text típusú mezőknél érvényes.
A parancs hatásának megszüntetéséhez a SET TEXTSIZE 0 parancsot kell kiadni.

Transact SQL cikksorozat

Transact SQL Referencia - Transact SQL 1. rész
Transact SQL további belső változói - Transact SQL 2. rész
Dátumkezelés a Transact SQL-ben - Transact SQL 3. rész
Sztringkezelés a Transact SQL-ben - Transact SQL 4. rész
Folyamatvezérlés eszközei a Transact SQL-ben - Transact SQL 5. rész
Összesítő függvények - Transact SQL 6. rész
Adatbázisok létrehozása, törlése - Transact SQL 7. rész
Adatbázis módosítás lehetőségei - Transact SQL 8. rész
Táblák létrehozása - Transact SQL 9. rész
Táblák módosítása, törlése - Transact SQL 10. rész
Rendszer funkciók - Transact SQL 11. rész
Adatkonvertálási lehetőségek - Transact SQL 12. rész
Tárolt eljárás létrehozása - TransactSQL 13. rész
Triggerek kezelése - Transact SQL 14. rész
Indexek létrehozása - Transact SQL 15. rész
Függvények definiálása - Transact SQL 16. rész
Függvények felüldefiniálása és törlése - Transact SQL 17. rész
Szabályok létrehozása - Transact SQL 18. rész
Alapértelmezett értékek megadása - Transact SQL 19. rész
Nézet táblák létrehozása - Transact SQL 20. rész
Nézettáblák módosítása - Transact SQL 21. rész
Adatbázis és tranzakciós napló mentése - Transact SQL 22. rész
Elmentett adatbázis és tranzakciós napló visszaállítása - Transact SQL 23. rész
Full-Text Catalog létrehozása, használata - Transact SQL 24. rész
Full-Text Catalog további lehetőségei - Transact SQL 25. rész
Tranzakció-kezelés az MS SQL-ben - Transact SQL 26. rész
Tranzakció-kezelés az MS SQL-ben - Transact SQL 27. rész

SET parancsok - Transact SQL 28. rész