Вопрос:
Я пишу процедуру Oracle с помощью TOAD. Я выполнил процедуру, используя инструкцию execute. Но я не могу получить результат. Вместо этого я получаю только ошибку. Пожалуйста, помогите, как запустить процедуру в TOAD. Я новичок в жабе и Oracle.
Процедура в oracle
create or replace procedure pro_dndtesting( phone number)is begin select FLD_PHONENUMBERS from smsdnd_tbl where FLD_PHONENUMBERS=phone; end ; /
Процедура выполнения следующим образом
exec procedure pro_dndtesting(9865015695) error ORA-06550: line 1, column 7: PLS-00201: identifier ‘PRO_DNDTESTING’ must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored Лучший ответ:
Просто уточнить: нет такой вещи, как “Oracle Toad”. Oracle – это СУБД, тогда как TOAD является клиентом для баз данных Oracle.
Ваша процедура не будет компилироваться, поскольку вы ее написали, потому что вы не предоставляете предложение INTO для SELECT (поскольку PL/SQL – в отличие от простого SQL – требует “цели” для результата SELECT); попробуй это:
create or replace procedure pro_dndtesting( phone number)is l_value smsdnd_tbl.fld_phonenumbers%type; begin select FLD_PHONENUMBERS into l_value from smsdnd_tbl where FLD_PHONENUMBERS=phone; end ;
Что касается ошибки, которую вы получаете:
Вы использовали одну и ту же схему (= пользователь) для определения процедуры и вызова ее?
Вы пробовали его из анонимного блока PL/SQL, например
begin pro_dndtesting(9865015695); end;