Ո՞ր բացառություններն են անուղղակիորեն արծարծվում Oracle-ի կողմից:

Բովանդակություն:

Ո՞ր բացառություններն են անուղղակիորեն արծարծվում Oracle-ի կողմից:
Ո՞ր բացառություններն են անուղղակիորեն արծարծվում Oracle-ի կողմից:
Anonim

Ներքին բացառությունները անուղղակիորեն բարձրացվում են գործարկման ժամանակի համակարգի կողմից, ինչպես նաև օգտագործողի կողմից սահմանված բացառությունները, որոնք դուք կապել եք Oracle-ի սխալի հետ՝ օգտագործելով EXCEPTION_INIT: Այնուամենայնիվ, օգտագործողի կողմից սահմանված այլ բացառություններ պետք է բացահայտորեն բարձրացվեն RAISE հայտարարություններով:

Ո՞ր բացառություններն են արծարծվում անուղղակիորեն:

Նախասահմանված բացառությունները բարձրացվում են անուղղակի (ավտոմատ) գործարկման ժամանակի համակարգի կողմից: Օգտատիրոջ կողմից սահմանված բացառությունները պետք է բացահայտորեն բարձրացվեն RAISE հայտարարություններով: Բարձրացված բացառությունները կարգավորելու համար դուք գրում եք առանձին ռեժիմներ, որոնք կոչվում են բացառությունների մշակիչներ:

Ո՞ր բացառությունն է ինքնաբերաբար բարձրացվում Oracle-ի կողմից:

Ներքին բացառություն ինքնաբերաբար բարձրացվում է, եթե ձեր PL/SQL ծրագիրը խախտում է Oracle կանոնը կամ գերազանցում է համակարգից կախված սահմանաչափը: PL/SQL-ը որպես բացառություն նախորոշում է Oracle-ի որոշ սովորական սխալներ: Օրինակ, PL/SQL-ը բարձրացնում է նախապես սահմանված բացառությունը NO_DATA_FOUND, եթե SELECT INTO հայտարարությունը տողեր չի վերադարձնում:

Ի՞նչ է բարձրացման բացառությունը Oracle-ում:

RAISE հայտարարությունը դադարեցնում է PL/SQL բլոկի կամ ենթածրագրի բնականոն կատարումը և կառավարումը փոխանցում բացառությունների մշակողին: RAISE հայտարարությունները կարող են առաջացնել նախապես սահմանված բացառություններ, ինչպիսիք են ZERO_DIVIDE կամ NO_DATA_FOUND, կամ օգտագործողի կողմից սահմանված բացառություններ, որոնց անունները դուք եք որոշել:

Որո՞նք են ոչ կանխորոշված բացառությունները:

Ոչ կանխորոշված բացառությունները նման են նախապես սահմանված բացառություններին, բացառությամբնրանք չունեն նախապես սահմանված անուններ: Նրանք ունեն Oracle-ի ստանդարտ սխալի համար (ORA-) և սխալի հաղորդագրություն: EXCEPTION_INIT ֆունկցիա: Դուք կարող եք ծուղակը գցել ոչ կանխորոշված Oracle սերվերի սխալը՝ նախապես այն հայտարարելով:

Խորհուրդ ենք տալիս: