Set_sql_option

Internφ programovacφ jazykC/C++PascalSQL

function Set_sql_option(mask, value : integer) : Boolean;
BOOL [cd_]Set_sql_option([cdp_t cdp,] uns32 mask, uns32 value);
function [cd_]Set_sql_option([cdp : cdp_t;] mask, value : uns32) : Boolean;

Parametry

mask souΦet hodnot voleb, kterΘ se majφ ovlivnit (nastavit nebo zruÜit nastavenφ)
value souΦet hodnot voleb, kterΘ se majφ nastavit
[cdp kontextovß prom∞nnß klienta]

Od verze:

5.1, ·prava v 6.0, 6.1, 7.0

Popis

Server WinBase602 umo₧≥uje nastavit, do jakΘ mφry se mß zachovat kompatibilita se starÜφmi verzemi oproti striktnφmu dodr₧enφ norem SQL. Toto nastavenφ lze libovoln∞ m∞nit i za b∞hu jednΘ aplikace a pro r∙znΘ klienty mohou ve stejnΘm okam₧iku platit r∙znß nastavenφ.

Do parametru mask zapiÜte souΦet hodnot voleb, kterΘ chcete nastavovat (nap°. volba SQLOPT_NULLEQNULL mß b²t nastavena, volba SQLOPT_NULLCOMP nemß b²t nastavena (byla nastavena ji₧ d°φve a nynφ to chcete zruÜit): zadejte hodnotu 3(=1+2)).

Do parametru value zapiÜte pro volbu, kterß mß b²t nastavena jejφ hodnotu, pro volbu, kterß nemß b²t nastavena hodnotu nula (p°φklad z min. odstavce: zadejte hodnotu 1(=1+0)).

K dispozici jsou tato nastavenφ:

jmΘno volby hodn. Φeho se t²kß stav je-li nastaveno (WB syntax) stav nenφ-li nastaveno (SQL syntax)
SQLOPT_NULLEQNULL 1 porovnßnφ dvou hodnot NULL (*) v²sledek je TRUE v²sledek je UNKNOWN
SQLOPT_NULLCOMP 2 operace mezi NULL a jinou hodnotou (*) NULL je menÜφ v relacφch a je inertnφm prvkem v ostatnφch operacφch v²sledek relacφ je UNKNOWN, ostatnφch operacφ NULL
SQLOPT_RD_PRIVIL_VIOL 4 pou₧itφ hodnoty, k nφ₧ nenφ prßvo Φtenφ mφsto utajenΘ hodnoty se pou₧ije NULL dojde k chyb∞
SQLOPT_MASK_NUM_RANGE 8 p°eteΦenφ ΦφselnΘho rozsahu p°i konverzi v²sledkem je NULL dojde k chyb∞
SQLOPT_MASK_INV_CHAR 16 °et∞zec znak∙ nelze konvertovat na po₧adovan² typ v²sledkem je NULL dojde k chyb∞
SQLOPT_MASK_RIGHT_TRUNC 32 p°i typovΘ konverzi na typ °et∞zec dochßzφ ke ztrßt∞ znak∙ na pravΘm konci znaky jsou ztraceny dojde k chyb∞
SQLOPT_EXPLIC_FREE 64 zruÜenφ a uvoln∞nφ zßznamu zruÜenΘ zßznamy se uvol≥ujφ funkcφ Free_deleted zruÜenΘ zßznamy se uvol≥ujφ ihned po zruÜenφ
SQLOPT_OLD_ALTER_TABLE 128 syntaxe ALTER TABLE pou₧ije se p∙vodnφ varianta ALTER TABLE (stejnΘ jako nßvrhß°) pou₧φvß se varianta ALTER TABLE podle normy SQL
SQLOPT_DUPLIC_COLNAMES 256 kdy₧ se dva sloupce v odpov∞di na dotaz jmenujφ stejn∞ ponechajφ se stejnß jmΘna, lze je rozliÜit pomocφ prefix∙ sloupce se automaticky p°ejmenujφ
SQLOPT_USER_AS_SCHEMA 512 prefixovßnφ jmen tabulek jmΘnem u₧ivatele prefix se v₧dy pova₧uje za jmΘno schΘmatu pokud se prefix shoduje se jmΘnem p°ihlßÜenΘho u₧ivatele, ignoruje se
SQLOPT_DISABLE_SCALED 1024 v²skyt Φφseln²ch necel²ch p°esn²ch typ∙ v odpov∞di na dotaz (NUMERIC) pokud nelze pova₧ovat za typ Money, je automaticky konvertovßn na typ Real typ se zachovß
SQLOPT_ERROR_STOPS_TRANS 2048 reakce transakce na chybu transakce se ukonΦφ transakce pokraΦuje a₧ do commitu nebo rollbacku
SQLOPT_NO_REFINT_TRIGGERS 4096 spouÜt∞nφ trigger∙ p°i provßd∞nφ akcφ aktivnφ referenΦnφ integrity triggery se nespouÜt∞jφ triggery se spouÜt∞jφ

(*) pro °et∞zce s hodnotou NULL (= prßzdnΘ °et∞zce) platφ bez ohledu na nastavenφ ·daje ze sloupce Syntax WB (porovnßnφ dvou NULL string∙ je TRUE apod.).

Obecn∞ platφ, ₧e je-li volba nastavena, zachovßvß se kompatibilita se starÜφmi verze WinBase602, nenφ-li nastavena, server se chovß dle norem SQL.

Po spuÜt∞nφ b∞hu klienta jsou vÜechny volby nastaveny (WB syntax).

Jako₧to procedura je implementovßno Set_sql_option i na stran∞ serveru, aby bylo mo₧no parametry nastavovat i bez pou₧itφ klientskΘho programu. V parametrech se pak musφ pou₧φt ΦφselnΘ hodnoty konstant. P°φklad volßnφ v SQL:

CALL Set_sql_option(255,0)

Hodnota funkce

Funkce vracφ p°i ne·sp∞chu TRUE;

P°φklad:

Nastavit vÜechny volby do re₧imu kompatibility s SQL2:

Set_sql_option(255,0);

Nastavit vÜechny volby do re₧imu kompatibility se starÜφmi verzemi serveru:

Set_sql_option(255,255);