Написах МНОГО pro*c в миналото и с течение на времето осъзнах, че не искате да проверявате кода за връщане на оператора PREPARE, тъй като той никога не връща никаква стойност. Ето какво имам предвид:
Стойността на PREPARE sqlca.sqlcode е кодът за връщане на израза, който е изпълнил непосредствено ПРЕДИ оператора PREPARE. С други думи, ако проверите изхода на оператора PREPARE и оператора, който е изпълнен точно преди изразът PREPARE да се провали, тогава кодът за връщане на подготовката е неуспешен. Ако предишният оператор е успешен, тогава PREPARE изглежда е успешен.
С други думи, стойността на подготвителния sqlca.sqlcode е основно нищо (никога не се проваля сама). Така че, ако PREPARE сега е неуспешно, проверете оператора, който е изпълнен точно преди PREPARE израза и се уверете, че проверявате стойността на sqlca.sqlcode на този. Обзалагам се, че предишното изявление е неуспешно и върнатата грешка се отнася за това изявление. Има ли смисъл?
-Джим