Parametry
curs | otev°en² pevn² kurzor - viz podrobnosti |
condition | text podmφnky ve tvaru v²razu typu Boolean |
Popis
Funkce Restrict_cursor
vytvo°φ subkurzor kurzoru curs tak, ₧e z n∞j vybere pouze ty zßznamy, kterΘ spl≥ujφ zadanou podmφnku. Tφmto subkurzorem nahradφ p∙vodnφ kurzor, tak₧e vÜechny operace s kurzorem curs se budou provßd∞t s vytvo°en²m subkurzorem. Ka₧dΘ dalÜφ pou₧itφ funkce Restrict_cursor
na tent²₧ kurzor zp∙sobφ zesφlenφ celkovΘ podmφnky (podmφnky se spojujφ spojkou AND). Odstran∞nφ podmφnek p°idan²ch vÜemi provedenφmi funkce Restrict_cursor
lze provΘst pouze najednou, a to funkcφ Restore_cursor
. Nenφ-li v programu provedeno odstran∞nφ dodateΦn²ch podmφnek, bude program p°i skonΦenφ hlßsit Program neuzav°el vÜechny kurzory.
Funkci Restrict_cursor
lze pou₧φvat pouze na pevnΘ kurzory (dotazy ulo₧enΘ v databßzi) otev°enΘ funkcφ Open_cursor
.
P°i pot°eb∞ pou₧itφ na prom∞nnΘ kurzory je nutnΘ mφsto Restrict_cursor
pou₧φt dvojici funkcφ Close_cursor
a Open_sql_cursor
se zesφlenou podmφnkou.
V externφch jazycφch tuto funkci nahrazuje funkce Open_subcursor
.
Hodnota funkce
Funkce vracφ hodnotu FALSE, pokud se akci poda°ilo ·sp∞Ün∞ provΘst. V opaΦnΘm p°φpad∞ vracφ TRUE a povahu chyby lze zjistit volßnφm funkce Signalize
. DoporuΦujeme v₧dy testovat v²sledek tΘto funkce.
P°φklad
var id_p : window_id; cursor SEZN_5000; begin ... Open_cursor(SEZN_5000);
// otev°enφ kurzoru, kter² mß v Φßsti WHERE podmφnku PLAT>5000
if not Restrict_cursor(SEZN_5000,"PLAT>7000") then
// z·₧enφ kurzoru podmφnkou PLAT>7000 Open_view("*ZAM╠ST4",SEZN_5000,0,0,0,id_p)
;
// otev°enφ pohledu s p°esm∞rovßnφm na z·₧en² kurzor
... Restore_cursor(SEZN_5000);
// nßvrat k p∙vodnφmu kurzoru Open_view("*ZAM╠ST4",sezn_5000,0,0,0,id_p); // otev°enφ pohledu do p∙vodnφho kurzoru
Close_cursor(SEZN_5000); end
Viz