felipe lima Posted March 19, 2025 Topic Count: 2 Topics Per Day: 0.00 Content Count: 9 Content Per Day: 0.01 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Report Posted March 19, 2025 Boa tarde, eu tinha uma consulta SQL contendo apenas um único comando que era um EXEC (N'INSERT INTO TABELA ...' ). Hoje vi que não consigo mais nem criar outra consulta contendo um EXEC e nem editar a consulta que já existe (e que está funcionando). O que houve? A TOTVS mudou algo?
BrunoGasparetto Posted March 19, 2025 Topic Count: 6 Topics Per Day: 0.00 Content Count: 28 Content Per Day: 0.01 Reputation: 14 Achievement Points: 215 Solved Content: 0 Days Won: 7 Status: Offline Device: Windows Report Posted March 19, 2025 Das vezes que usei sempre precisei colocar como `EXECUTE` ao invés de `EXEC` (dava erro) e logo em seguida tinha que colocar uma consulta simples, senão o RM não deixava salvar. Vou até validar se ainda tenho Consulta rodando EXECUTE e se está dando algum erro.
felipe lima Posted March 19, 2025 Topic Count: 2 Topics Per Day: 0.00 Content Count: 9 Content Per Day: 0.01 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Author Report Posted March 19, 2025 Para mim, EXEC e EXECUTE retornam o mesmo erro "Sentença SQL não é um comando de seleção (SELECT)!" Parece que agora não é mais permitido fazer INSERT ou UPDATE dentro do EXEC/EXECUTE, mas o EXEC servia exatamente para fazermos INSERT e UPDATE. Para fazer SELECT não precisamos do EXEC.
luisgustavogomes Posted March 19, 2025 Topic Count: 5 Topics Per Day: 0.00 Content Count: 535 Content Per Day: 0.17 Reputation: 184 Achievement Points: 3,568 Solved Content: 0 Days Won: 77 Status: Offline Age: 37 Device: Windows Report Posted March 19, 2025 @felipe lima e @BrunoGasparetto, boa noite! Vou deixar esse post 12 horas aqui .... P/S @felipe lima precisamos algumas vezes de uma instrução de proc para algumas magias no SELECT Teste 001 - Consulta para execução de uma Stored Procedure (SELECT) - texto da query Validação somente em tela de execução Execução externa... SUCESSO! Texto da proc Teste 002 - Consulta para execução de uma Stored Procedure (UPDATE) - texto da query Validação de tela Execução com sucesso Texto da proc Abraços 1
felipe lima Posted March 20, 2025 Topic Count: 2 Topics Per Day: 0.00 Content Count: 9 Content Per Day: 0.01 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Author Report Posted March 20, 2025 Ok, obrigado, o EXECUTE funciona para chamar uma procedure, mas não estou usando uma procedure. O que eu tenho é EXEC (N'INSERT INTO TABELA ...' ) e isso parou de funcionar. Alguém sabe o que está acontecendo?
caiiomonteiro Posted March 20, 2025 Topic Count: 12 Topics Per Day: 0.00 Content Count: 184 Content Per Day: 0.06 Reputation: 93 Achievement Points: 1,205 Solved Content: 0 Days Won: 34 Status: Offline Age: 28 Device: Windows Report Posted March 20, 2025 Bom dia Apenas complementando que, no próprio cadastro da consulta SQL é possível vincular uma procedure antes ou depois da execução da SQL principal
felipe lima Posted March 20, 2025 Topic Count: 2 Topics Per Day: 0.00 Content Count: 9 Content Per Day: 0.01 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Author Report Posted March 20, 2025 Isso é verdade, mas não tenho procedure e eu não queria ter que refazer tudo o que já foi feito. Então a pergunta continua: o comando EXEC (N'INSERT INTO TABELA ...' ) parou de funcionar?
luisgustavogomes Posted March 20, 2025 Topic Count: 5 Topics Per Day: 0.00 Content Count: 535 Content Per Day: 0.17 Reputation: 184 Achievement Points: 3,568 Solved Content: 0 Days Won: 77 Status: Offline Age: 37 Device: Windows Report Posted March 20, 2025 @felipe lima, Bom dia! Sim a chamada da PROCEDURE EXEC/EXECUTE somente com o texto foi bloqueada pela action GlbConsSqlAction, porém, é tem como contornar! CREATE OR ALTER PROCEDURE dbo.SP_GLB_EXECUTECOMMAND @COMMAND NVARCHAR(MAX) AS DECLARE @RETORNO VARCHAR(100); BEGIN TRY BEGIN TRAN T1 EXEC (@COMMAND); SET @RETORNO = 'OK' COMMIT END TRY BEGIN CATCH IF (@@TRANCOUNT > 0) BEGIN ROLLBACK TRANSACTION T1 PRINT 'Error detected, all changes reversed' END SET @RETORNO = ( SELECT CONCAT( ' Error detected, all changes reversed: ', ' MESSAGE TEXT: ', ERROR_MESSAGE(), ' SEVERITY: ', ERROR_SEVERITY(), ' STATE: ', ERROR_STATE()) ) END CATCH SELECT @RETORNO AS 'RETORNO' RETURN 0 Abraços 3
Jair - Fórmula Posted March 20, 2025 Topic Count: 946 Topics Per Day: 0.13 Content Count: 9,193 Content Per Day: 1.25 Reputation: 460 Achievement Points: 109,827 Solved Content: 0 Days Won: 267 Status: Offline Age: 54 Device: Windows Report Posted March 20, 2025 Boa ideia Luis... neste exemplo, você criou uma procedure no banco de dados, apenas para receber a instrução (linha de comando) e a executa. Como apenas o EXEC direto com texto foi bloqueado, desta forma realmente funciona. Valeu mais uma vez pela contribuição aqui a todos!!
felipe lima Posted March 20, 2025 Topic Count: 2 Topics Per Day: 0.00 Content Count: 9 Content Per Day: 0.01 Reputation: 0 Achievement Points: 62 Solved Content: 0 Days Won: 0 Status: Offline Author Report Posted March 20, 2025 Obrigado.
BrunoGasparetto Posted March 20, 2025 Topic Count: 6 Topics Per Day: 0.00 Content Count: 28 Content Per Day: 0.01 Reputation: 14 Achievement Points: 215 Solved Content: 0 Days Won: 7 Status: Offline Device: Windows Report Posted March 20, 2025 2 horas atrás, caiiomonteiro disse: Bom dia Apenas complementando que, no próprio cadastro da consulta SQL é possível vincular uma procedure antes ou depois da execução da SQL principal O problema dessa configuração é que não dá pra passar parâmetros pra SP.
BrunoGasparetto Posted March 20, 2025 Topic Count: 6 Topics Per Day: 0.00 Content Count: 28 Content Per Day: 0.01 Reputation: 14 Achievement Points: 215 Solved Content: 0 Days Won: 7 Status: Offline Device: Windows Report Posted March 20, 2025 Muito bom o jeito que fez, @luisgustavogomes. Aqui eu só tenho algumas SP no banco pra coisas muito específicas (normalmente um update numa tabela customizada que não possuí dataserver), justamente pra ter o menor risco possível de interferir em outras coligadas. Aí o que faço é simplesmente chamar a procedure e depois fazer um Select, e aí o RM não dá erro e lá na SP eu mantenho só o código do update/insert mesmo.
caiiomonteiro Posted March 20, 2025 Topic Count: 12 Topics Per Day: 0.00 Content Count: 184 Content Per Day: 0.06 Reputation: 93 Achievement Points: 1,205 Solved Content: 0 Days Won: 34 Status: Offline Age: 28 Device: Windows Report Posted March 20, 2025 57 minutos atrás, BrunoGasparetto disse: O problema dessa configuração é que não dá pra passar parâmetros pra SP. É possível sim, utilizo dessa forma em fórmulas visuais por exemplo Abraços 1
luisgustavogomes Posted March 21, 2025 Topic Count: 5 Topics Per Day: 0.00 Content Count: 535 Content Per Day: 0.17 Reputation: 184 Achievement Points: 3,568 Solved Content: 0 Days Won: 77 Status: Offline Age: 37 Device: Windows Report Posted March 21, 2025 11 horas atrás, BrunoGasparetto disse: O problema dessa configuração é que não dá pra passar parâmetros pra SP. Boa noite! Segue. Abraços.
BrunoGasparetto Posted March 21, 2025 Topic Count: 6 Topics Per Day: 0.00 Content Count: 28 Content Per Day: 0.01 Reputation: 14 Achievement Points: 215 Solved Content: 0 Days Won: 7 Status: Offline Device: Windows Report Posted March 21, 2025 Ah sim, @luisgustavogomes. No caso dos parâmetros eu me referia a configurar na consulta SQL, não no "conteúdo" da consulta. No caso como foi a sugestão do colega @caiiomonteiro. Mas confesso que há tempos não tento executar SP assim, pois as SPs estão em outro banco de dados e quando tentei configurar a execução no cadastro da SQL recebo erro de que não foi encontrada a SP. 1
claudio ximenes Posted March 24, 2025 Topic Count: 0 Topics Per Day: 0 Content Count: 26 Content Per Day: 0.00 Reputation: 5 Achievement Points: 65 Solved Content: 0 Days Won: 2 Status: Offline Age: 52 Report Posted March 24, 2025 Parou de funcionar sim. Tanto o EXEC quanto a atividade Executar comando SQL na Formula Visual. Já era. kkk agora só pelo conceito.
luisgustavogomes Posted March 24, 2025 Topic Count: 5 Topics Per Day: 0.00 Content Count: 535 Content Per Day: 0.17 Reputation: 184 Achievement Points: 3,568 Solved Content: 0 Days Won: 77 Status: Offline Age: 37 Device: Windows Report Posted March 24, 2025 Bom dia.... sempre tem um jeito! 1
Jair - Fórmula Posted March 24, 2025 Topic Count: 946 Topics Per Day: 0.13 Content Count: 9,193 Content Per Day: 1.25 Reputation: 460 Achievement Points: 109,827 Solved Content: 0 Days Won: 267 Status: Offline Age: 54 Device: Windows Report Posted March 24, 2025 Segue uma dica para alguns processos relacionados a execução de comandos SQL, não exatamente sobre SP, mas que pode ser útil a todos!!
Raphael Gomes Posted March 30, 2025 Topic Count: 12 Topics Per Day: 0.01 Content Count: 49 Content Per Day: 0.04 Reputation: 14 Achievement Points: 337 Solved Content: 0 Days Won: 2 Status: Offline Device: Windows Report Posted March 30, 2025 Bom dia, Por aqui desenvolvi dessa forma e está funcionando perfeitamente através da atividade "Executar Código Fonte".
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now