не может понять предупреждения в простой функции Pl / SQL - PullRequest
1 голос
/ 22 июня 2011

Я использую Oracle 10g с SqlDeveloper.Когда я выполняю следующий код, он говорит:

"FUNCTION wafadar compiled Предупреждение: выполнение завершено с предупреждением"

create or replace function wafadar
return varchar2(10)
is

cursor c1 is
SELECT employee_id,first_name FROM employees where department_id=50 ;

begin
  for i in c1
  loop
    dbms_output.put_line(i.first_name);
  end loop;
  return 'hello';
end;

SHOW ERRORS в конце также не показывает предупрежденияПочему там предупреждения?

1 Ответ

8 голосов
/ 22 июня 2011

ошибка!

Во-первых, вы должны заботиться об ошибках, и я уверен, что у вас есть такая ошибка в условии возврата вашей функции (вы не можете указать размер для varchar2" .

Предостережения

Вы искали "предупреждение" в руководствах? http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/errors.htm#LNPLS00711

Как просмотреть предупреждения (включить нужные категории)

alter function wafadar compile plsql_warnings='ENABLE:ALL' reuse settings

Проверьте :

select plsql_warnings
from   user_plsql_object_settings ps
where  ps.name = 'WAFADAR'

Ваши предупреждения:

Клиентские инструменты, такие как sql * plus или Sql Developer (если поддерживается):

 show errors

или

select *
from   user_errors ur
where  ur.name = 'WAFADAR'

NAME                           TYPE           SEQUENCE       LINE   POSITION TEXT                                                                             ATTRIBUTE MESSAGE_NUMBER
------------------------------ ------------ ---------- ---------- ---------- -------------------------------------------------------------------------------- --------- --------------
WAFADAR                        FUNCTION              1          1          1 PLW-05018: unit WAFADAR omitted optional AUTHID clause; default value DEFINER us WARNING             5018

Наконец , я предлагаю вам прочитать немного:

  1. Как спросить: http://www.catb.org/~esr/faqs/smart-questions.html#before
  2. http://download.oracle.com/docs/cd/E11882_01/appdev.112/e17126/toc.htm
  3. Все « оракулов » находятся здесь: http://tahiti.oracle.com/
  4. Sql developer oracles (если вы хотите его использовать!): http://download.oracle.com/docs/cd/E11882_01/doc.112/e12152/toc.htm
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...