2011-02-11 4 views
0

Я составляю сборку процедур хранения в SQL Developer для Mac. Код выглядит следующим образом:Почему это ошибка: «Встретил символ»/«"?

// ... some other code .... 

END procedureX; 

END thePackageBodyName; 

/

show error 

grant execute on thePackageBodyName to anotherName; 

/

show error 

SQLDev сообщает об ошибке «Столкнутые символ„/“в первый слэш Если удалить первый слэш, и все, что под ним, он успешно компилируется:.

// ... some other code .... 

END procedureX; 

END thePackageBodyName; 

Почему первый слэш вызывает ошибку?

ответ

3

/ используется в SQL * Plus. Так как вы не компиляции в SQL * Plus, удалите их, и все должно быть хорошо.

Более конкретно: / завершает блок PL/SQL, который может быть анонимным или ссылаться на определение/объявление пакета/процедуры/функции/etc. Слэш указывает SQL * Plus передавать то, что было введено до сих пор на сервер, и скомпилировать его. Таким образом, он не является частью языка PL/SQL и поэтому не нужен.

Я предполагаю, что вы импортировали или скопировали содержимое файла в SQL Developer. Так разбивайте его на компилируемые части между косами и компилируйте их.

Возможно (и это потому, что я не знаю о разработчике SQL) есть опция или возможность запускать такие файлы, которые были созданы с SQL * Plus в SQL Developer.

+0

+1: Ударьте меня. У PLSQLDeveloper теперь должна быть настройка, чтобы принять символ? –