Я получил учетную запись пользователя для базы данных SQL Server, которая имеет только привилегии для выполнения хранимой процедуры. Я добавил JAR-файл JTDS JTDS для SQL Server в SQL Developer и добавил его в качестве стороннего драйвера JDBC. Я могу успешно войти в базу данных SQL Server. Мне дали этот синтаксис для запуска процедуры:
EXEC proc_name 'paramValue1' 'paramValue2'
Когда я запускаю это как оператор или сценарий, я получаю эту ошибку:
Error starting at line 1 in command:
EXEC proc_name 'paramValue1' 'paramValue2'
Error report:
Incorrect syntax near the keyword 'BEGIN'.
Я попытался обернуть заявление BEGIN/END
, но получил ту же ошибку. Можно ли вызвать процедуру из SQL Developer? Если да, какой синтаксис мне нужно использовать?
Вам не хватает
,
источник
EXEC proc_name
и посмотреть, если он просит вас второй параметр ... тогда, по крайней мере, вы знаете, что ваш синтаксис правильный .. если он не работает, значит, у вас, вероятно, нет правильного сохраненного имени процесса ... попробуйте полное квалифицированное имя ..Вам нужно сделать это:
источник
источник
Если целью хранимой процедуры является выполнение
INSERT
таблицы, в которой объявлено поле Identity, то поле в этом сценарии@paramValue1
должно быть объявлено и просто передать значение 0, поскольку оно будет автоматически увеличено.источник
Я знаю, что это старый. Но это может помочь другим.
Я добавил функцию вызова SP между BEGIN / END. Вот рабочий скрипт.
источник
Если вам просто нужно извинить хранимую процедуру
proc_name 'paramValue1' , 'paramValue2'...
в то же время, вы выполняете более одного запроса, например, один запрос на выборку и хранимую процедуру, которую вы должны добавитьselect * from tableName EXEC proc_name paramValue1 , paramValue2...
источник
Хранимые процедуры могут быть запущены в SQL инструмент разработчика, используя следующий синтаксис
НАЧАЛО имя процедуры (); КОНЕЦ;
Если есть какие-либо параметры, то это должно быть передано.
источник
источник