Raise_application_error артка кайтарылабы?
Raise_application_error артка кайтарылабы?

Video: Raise_application_error артка кайтарылабы?

Video: Raise_application_error артка кайтарылабы?
Video: КЫРГЫЗ балдар ДУБАЙДА пицца-суши КАФЕ ачыптыр ~ БОЛОТ ЭКЕН го ~ ЖЕП КЕЛДИК ~ ДУБАЙ, 12 серия 2024, Май
Anonim

Триггердин ичинде а RAISE_APPLICATION_ERROR кылат аткарбоо а КАЙТАРУУ , ал учурдагы операцияны, б.а. бир UPDATE/INSERT/DELETE токтотот. А Артка кайтаруу учурдагы транзакциянын ичиндеги бардык өзгөртүүлөрдү кайтарат (же берилген Savepoint чейин), бул башка.

Ушундай жол менен, Raise_application_error деген эмне?

Жооп бер колдонмонун_катасын көтөрүү чындыгында Oracle тарабынан аныкталган процедура, ал иштеп чыгуучуга өзгөчө кырдаалды көтөрүүгө жана ката номерин жана кабарды процедура менен байланыштырууга мүмкүндүк берет. Oracle камсыз кылат колдонмонун_катасын көтөрүү колдонмоңузда ыңгайлаштырылган ката сандарын көтөрүүгө мүмкүндүк берүүчү процедура.

Андан тышкары, триггердин ичинде артка кайтаруу оператору аткарылганда эмне болот? Качан триггер учурдагы транзакция дагы эле аягына чыга элек. COMMIT аларга уруксат берген транзакцияны токтотот триггерлерде болмок иштин бирдигин бузуу. Ошентип өзгөрөт триггерде аткарылган иштеткен DMLди чыгарган менчик транзакциясы тарабынан жасалат (же артка кайтарылат). триггер.

Анын, Pragma Exception_init менен Raise_application_error ортосунда кандай айырма бар?

прагма exception init Oracle катасын аталган өзгөчө абалга айлантат. Эгер маалымат базасынын операциясы ORA-00054 "ресурс бош эмес" дегенди көтөрсө, сиз коддооңуз керек болот:. Колдонмо_катасын көтөрүү катаны көтөрүү үчүн колдонулат - exception_init каталар менен күрөшүү үчүн колдонулат (менимче, сиз аларды карама-каршы деп айта аласыз ичинде жол).

Sqlerrm деген эмне?

SQLERRM Функция. Функция SQLERRM анын ката-саны аргументи менен байланышкан ката кабарын кайтарат. Аргумент алынып салынса, ал SQLCODE учурдагы мааниси менен байланышкан ката кабарын кайтарат. SQLERRM эч кандай аргументсиз гана өзгөчө иштеткичте пайдалуу.

Сунушталууда: