Jump to content
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×

Recommended Posts


  • Topic Count:  2
  • Topics Per Day:  0.01
  • Content Count:  9
  • Content Per Day:  0.03
  • Reputation:   0
  • Achievement Points:  62
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

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?


 


  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  25
  • Content Per Day:  0.02
  • Reputation:   12
  • Achievement Points:  190
  • Solved Content:  0
  • Days Won:  5
  • Status:  Offline
  • Device:  Windows

Posted

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.


  • Topic Count:  2
  • Topics Per Day:  0.01
  • Content Count:  9
  • Content Per Day:  0.03
  • Reputation:   0
  • Achievement Points:  62
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

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.


  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  518
  • Content Per Day:  0.19
  • Reputation:   164
  • Achievement Points:  3,451
  • Solved Content:  0
  • Days Won:  71
  • Status:  Offline
  • Age:  36
  • Device:  Android

Posted

@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

image.png

Validação somente em tela de execução

image.png

Execução externa... SUCESSO! 

image.png

Texto da proc

 

Teste 002 - Consulta para execução de uma Stored Procedure (UPDATE) - texto da query

image.png

Validação de tela

image.png

Execução com sucesso

image.png

Texto da proc

 

Abraços

 

  • Like 1

  • Topic Count:  2
  • Topics Per Day:  0.01
  • Content Count:  9
  • Content Per Day:  0.03
  • Reputation:   0
  • Achievement Points:  62
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

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?


  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  171
  • Content Per Day:  0.06
  • Reputation:   67
  • Achievement Points:  1,104
  • Solved Content:  0
  • Days Won:  27
  • Status:  Offline
  • Age:  27
  • Device:  Windows

Posted

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
 

image.png

 

image.png


  • Topic Count:  2
  • Topics Per Day:  0.01
  • Content Count:  9
  • Content Per Day:  0.03
  • Reputation:   0
  • Achievement Points:  62
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

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?


  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  518
  • Content Per Day:  0.19
  • Reputation:   164
  • Achievement Points:  3,451
  • Solved Content:  0
  • Days Won:  71
  • Status:  Offline
  • Age:  36
  • Device:  Android

Posted

@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! 

 

image.png

 

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

  • Like 3

  • Topic Count:  926
  • Topics Per Day:  0.13
  • Content Count:  9,097
  • Content Per Day:  1.31
  • Reputation:   376
  • Achievement Points:  109,102
  • Solved Content:  0
  • Days Won:  232
  • Status:  Offline
  • Age:  53
  • Device:  Windows

Posted

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!!


  • Topic Count:  2
  • Topics Per Day:  0.01
  • Content Count:  9
  • Content Per Day:  0.03
  • Reputation:   0
  • Achievement Points:  62
  • Solved Content:  0
  • Days Won:  0
  • Status:  Offline
  • Device:  Windows

Posted

Obrigado.


  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  25
  • Content Per Day:  0.02
  • Reputation:   12
  • Achievement Points:  190
  • Solved Content:  0
  • Days Won:  5
  • Status:  Offline
  • Device:  Windows

Posted
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.


  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  25
  • Content Per Day:  0.02
  • Reputation:   12
  • Achievement Points:  190
  • Solved Content:  0
  • Days Won:  5
  • Status:  Offline
  • Device:  Windows

Posted

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.

 

image.png.7769931a6ea6f6cff2c4dbda458b8115.png


  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  171
  • Content Per Day:  0.06
  • Reputation:   67
  • Achievement Points:  1,104
  • Solved Content:  0
  • Days Won:  27
  • Status:  Offline
  • Age:  27
  • Device:  Windows

Posted
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

  • Like 1

  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  518
  • Content Per Day:  0.19
  • Reputation:   164
  • Achievement Points:  3,451
  • Solved Content:  0
  • Days Won:  71
  • Status:  Offline
  • Age:  36
  • Device:  Android

Posted
11 horas atrás, BrunoGasparetto disse:

O problema dessa configuração é que não dá pra passar parâmetros pra SP.

Boa noite!

Segue.

image.png

 

Abraços.


  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  25
  • Content Per Day:  0.02
  • Reputation:   12
  • Achievement Points:  190
  • Solved Content:  0
  • Days Won:  5
  • Status:  Offline
  • Device:  Windows

Posted

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.

 

image.png.050bb890dbae37d26ddd819f609d9f82.png

 

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.

  • Like 1

  • 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:  50
  • Device:  Windows

Posted

Parou de funcionar sim. Tanto o EXEC quanto a atividade Executar comando SQL na Formula Visual. Já era. kkk  agora só pelo conceito.


  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  518
  • Content Per Day:  0.19
  • Reputation:   164
  • Achievement Points:  3,451
  • Solved Content:  0
  • Days Won:  71
  • Status:  Offline
  • Age:  36
  • Device:  Android

Posted

 Bom dia.... sempre tem um jeito! 

 

  • Like 1

  • Topic Count:  926
  • Topics Per Day:  0.13
  • Content Count:  9,097
  • Content Per Day:  1.31
  • Reputation:   376
  • Achievement Points:  109,102
  • Solved Content:  0
  • Days Won:  232
  • Status:  Offline
  • Age:  53
  • Device:  Windows

Posted

 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!!

 


  • Topic Count:  12
  • Topics Per Day:  0.01
  • Content Count:  48
  • Content Per Day:  0.05
  • Reputation:   8
  • Achievement Points:  325
  • Solved Content:  0
  • Days Won:  1
  • Status:  Offline
  • Device:  Windows

Posted

Bom dia,

Por aqui desenvolvi dessa forma e está funcionando perfeitamente através da atividade "Executar Código Fonte".

 

2025-03-30 10_37_49-.png

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.