Prßce s multiatributy

S cel²mi multiatributy najednou se nedajφ provßd∞t tΘm∞° ₧ßdnΘ operace (v²jimkou je standardnφ funkce Bind_records, kterß m∙₧e mφt multiatribut jako parametr). Proto se za specifikacφ multiatributu uvßdφ, se kterou slo₧kou multiatributu chcete zachßzet. K tomuto ·Φelu za p°φstup k multiatributu p°ipojφte index v hranat²ch zßvorkßch. Slo₧ky multiatributu se indexujφ v₧dy od nuly.

P°φklad:

Je-li v tabulce Tab1 multiatribut Pole, pak na jeho sedmou slo₧ku v zßznamu Φφslo cis odkß₧eme zßpisem:

    Tab1[cis].Pole[6] 

P°i odkazu na neexistujφcφ slo₧ku multiatributu (zadßte-li index v∞tÜφ nebo roven poΦtu slo₧ek) reakce zßvisφ na okolnostech:

╖ Φtete-li neexistujφcφ hodnotu slo₧ky, pak obdr₧φte hodnotu NONE p°φsluÜnΘho typu a server vydß varovßnφ, kterΘ m∙₧ete zjistit funkcφ Sz_warning;

╖ zapisujete-li do neexistujφcφ slo₧ky, pak je slo₧ka vytvo°ena nebo, pokud definice tabulky vytvo°enφ tΘto slo₧ky nep°ipouÜtφ, dojde k b∞hovΘ chyb∞.

Na poΦet slo₧ek multiatributu odkß₧ete tak, ₧e za jmΘno multiatributu p°ipojφme mφsto indexu symbol #. Tφm zφskßme prom∞nnou typu Short, kterß obsahuje aktußlnφ poΦet slo₧ek multiatributu. Zßpisem do tΘto prom∞nnΘ lze poΦet slo₧ek zmenÜit, nikoli vÜak zv∞tÜit. NovΘ slo₧ky multiatributu vznikajφ pouze zßpisem nov²ch hodnot.

P°φklad:

    Tab1[cis].Pole# := 0;

zruÜφ vÜechny slo₧ky multiatributu.

M∞nit poΦet slo₧ek multiatributu nelze v prom∞nnΘm kurzoru, jeho₧ struktura nenφ v programu popsßna. P°i p°ekladu programu pak toti₧ nelze zjistit, zda znak # oznaΦuje poΦet slo₧ek multiatributu nebo dΘlku sloupce prom∞nnΘ velikosti.

Viz takΘ:

Vnit°nφ programovacφ jazyk