2009-11-17 2 views
1

У меня есть скрипт, который просто подключается к таблице в sql * plus и вставляет строку в таблицу.ошибка при запуске скрипта sql * plus

он бросает ошибку, как показано ниже:

SP2-0552: Bind variable "BIND" not declared 

я не могу понять, что именно переменная связывания в запросе, что он пытается вставить.

+2

Пожалуйста, разместите текст сценария –

+3

Показывая нам, что сценарий может помочь нам легче определить проблему – Glen

ответ

4

Вы пытаетесь запустить SQL, как это:

SELECT 1 FROM DUAL WHERE :BIND = 1; 

SQL * Plus идентифицирует :BIND как переменное связывание, но вы не объявили в вашей сессии еще. Чтобы объявить переменную связывания, используйте команду VAR(IABLE).

VAR BIND NUMBER 

Затем вы можете присвоить значение переменной.

EXEC :BIND := 1 

Запустите select еще раз, чтобы подтвердить, что переменная привязка установлена. Обратите внимание: вы также можете использовать эту переменную для хранения результатов по однострочным запросам.

SELECT 1 INTO :BIND FROM DUAL;