Recebi uma conta de usuário em um banco de dados do SQL Server que só possui privilégios para executar um procedimento armazenado. Adicionei o arquivo jar JDBC do SQL Server JTDS ao SQL Developer e o adicionei como um driver JDBC de terceiros. Posso efetuar login com êxito no banco de dados do SQL Server. Foi-me dada esta sintaxe para executar o procedimento:
EXEC proc_name 'paramValue1' 'paramValue2'
Quando executo isso como uma instrução ou um script, recebo este erro:
Error starting at line 1 in command:
EXEC proc_name 'paramValue1' 'paramValue2'
Error report:
Incorrect syntax near the keyword 'BEGIN'.
Tentei envolver a instrução BEGIN/END
, mas obtive o mesmo erro. É possível chamar o procedimento do SQL Developer? Em caso afirmativo, qual sintaxe eu preciso usar?
Você está faltando
,
fonte
EXEC proc_name
e ver se ele pede o segundo parâmetro ... então, pelo menos você sabe que seu sytax é right..if não funciona significa que você probanly não tem direito armazenado nome proc ... tente nome qualificado completo ..Você precisa fazer isso:
fonte
fonte
Se o objetivo do Procedimento Armazenado for executar um
INSERT
em uma tabela que tenha um campo Identidade declarado, o campo, nesse cenário@paramValue1
, deverá ser declarado e apenas passar o valor 0, porque será incrementado automaticamente.fonte
Eu sei que este é o antigo. Mas isso pode ajudar os outros.
Eu adicionei a função de chamada SP entre BEGIN / END. Aqui está um script de trabalho.
fonte
Se você simplesmente precisar executar o procedimento armazenado
proc_name 'paramValue1' , 'paramValue2'...
ao mesmo tempo, estará executando mais de uma consulta, como uma consulta de seleção e o procedimento armazenado, que deverá adicionarselect * from tableName EXEC proc_name paramValue1 , paramValue2...
fonte
Os procedimentos armazenados podem ser executados na ferramenta de desenvolvedor sql usando a sintaxe abaixo
BEGIN nome do procedimento (); FIM;
Se houver algum parâmetro, ele deverá ser passado.
fonte
fonte