Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Администрирование Oracle Database:
- Установка и настройка базы данных
- Обновление, применение патчей
- Оптимизация, настройка производительности
- Обучение, подготовка персонала, оптимизация
  • Страница:
  • 1
  • 2

ТЕМА: Oracle: ошибка PLS-00201 при объявлении переменной

Oracle: ошибка PLS-00201 при объявлении переменной 29 авг 2011 01:48 #3378

  • Lessa
  • Lessa аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 50
  • Спасибо получено: 0
declare
st number := 1000000;
t varchar2 (100) := 'Text to be inserted into Exam';
t1 varchar2 (200);
....

PLS-00201: identifier 'Text to be inserted into Exam' must be declared

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: ошибка PLS-00201 при объявлении переменной 29 авг 2011 01:50 #3379

Привет.
Скажи пожалуйста а зачем вы пробел ставите между varchar2 i (100)?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: ошибка PLS-00201 при объявлении переменной 29 авг 2011 01:51 #3380

  • Lessa
  • Lessa аватар Автор темы
  • Не в сети
  • Новый участник
  • Новый участник
  • Сообщений: 50
  • Спасибо получено: 0
Не помогло...
все написано правильно, но ошибка таже самая ...

declare
st number := 1000000;
text varchar2(100) := 'Text to be inserted into Exam';
t varchar2(200);
begin
t := 'Test(' || st || ',' || '"' || text || '"' || ')';
var_pack.run_proc(t);


Procedure Run_Proc ( stmt IN VARCHAR2 ) is
num BINARY_INTEGER := 0;
BEGIN
dbms_job.submit( num, stmt||';', SYSDATE );
COMMIT;
END;

ошибка: PLS-00201: identifier 'Text to be inserted into Exam' must be declared
PL/SQL statement ignored
затем ORA-06512: line 18 - Это dbms_job.submit( num, stmt||';', SYSDATE );


В чем же дело ?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: ошибка PLS-00201 при объявлении переменной 29 авг 2011 01:52 #3381

DBMS_JOB.SUBMIT( JOB OUT BINARY_INTEGER,
WHAT IN VARCHAR2, NEXT_DATE IN DATE DEFAULTSYSDATE,
INTERVAL IN VARCHAR2 DEFAULT 'NULL',
NO_PARSE IN BOOLEAN DEFAULT FALSE,
INSTANCE IN BINARY_INTEGER DEFAULT ANY_INSTANCE,
FORCE IN BOOLEAN DEFAULT FALSE)

Здесь WHAT - это SQL-оператор иди неименованный блок PL/SQL
А 'Text to be inserted into Exam' ни то ни другое :)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: ошибка PLS-00201 при объявлении переменной 29 авг 2011 01:53 #3382

Вместо ' " ' поставь ' ' ' '. Он у тебя не может найти переменную "Text to be inserted into Exam"
Поможет я думаю ;)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Re: Oracle: ошибка PLS-00201 при объявлении переменной 29 авг 2011 01:55 #3383

"В чем же дело ?"

Дело в том, что аккуратней надо код писать.
Что за фигню ты передаёшь?


'Test_pipe(' || st || ',' || '"' || text || '"' || ')'



Тебе нужно передать значение '1000000,Text to be inserted into Exam'?
Тогда так:

declare 

-- Local variables here 


st number := 1000000; 

text varchar2(100) := 'Text to be inserted into Exam'; 

begin 

Run_Proc( Test_pipe(st||','||text) ); 

end; 

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2