Tempo aproximado para leitura: 00:03:37 min
Dúvida
Como executar uma procedure pelo cadastro de consultas SQL do RM?
Ambiente
Cross Segmentos - TOTVS Backoffice (Linha RM) - A partir da versão 11.80
Solução
Para executar uma procedure no cadastro de SQL do RM, realize os seguintes passos:
- No exemplo foi criada uma tabela customizada no banco dados chamada CLIENTE que irá receber o conteúdo da procedure, conforme abaixo:
;
- Logo após foi criada uma stored procedure no banco de dados chamada SPTESTE, conforme abaixo, onde ao executá-la, serão inseridos os valores dos parâmetros da procedure na tabela CLIENTE criada acima:
@CODCLIENTE,@NOME,@CPF,@CIDADE,@UF,@DATA; - Criadas as tabelas e também a procedure, acesse a nova MDI;
- Vá ao menu Gestão;
- Opção Visões de Dados;
- Criamos como exemplo uma consulta SQL com o nome de SPTESTE, com o conteúdo abaixo:
- Execute a consulta e observe que como não existe registro na tabela, o resultado da consulta não retorna informações:
- Salve a consulta;
- Na consulta, clique no botão Configurar;
- Vá à opção Stored Procedure;
- Clique no botão Incluir Nova Stored Porcedure;
- Localize a SPTESTE criada acima.
- Você poderá executar a Procedure antes ou depois da execução da consulta SQL, nesse exemplo, optei por executar a SP antes da consulta:
- Salve o processo;
- Após salvar a inserção da procedure, clique no botão Executar da SQL;
- Na tela de execução da consulta será apresentado os Parâmetros exigidos para a execução da Procedure:
- Informe todos os parâmetros e logo após clique em executar;
- A Stored Procedure será executada antes da Sentença, conforme configurado acima, alimentando a tabela Cliente:
Importante
Apesar de serem Consultas SQL, as visões de dados têm como objetivo apenas retornar dados. Por isso, existem as seguintes limitações:
- Obrigatoriedade de uma cláusula SELECT.
- Não são permitidas as cláusulas ALTER, DELETE, DROP, INSERT, e UPDATE.
- Não é permitida a utilização dos métodos EXEC e EXECUTE
Com a intenção de bloquear a execução de comandos de alteração de dados, a partir da versão 12.1.2302 bloquearemos os métodos EXEC e EXECUTE.
A virada ocorrerá da seguinte forma:- visões de dados criadas antes da versão citada, que utilizem estes métodos, continuarão funcionando normalmente;
- no entanto, não será possível alterar estas visões de forma a preservar o exec ou execute (não será possível salvar a visão com estes comandos);
- não será possível criar novas visões, ou importar visões de dados criadas em outras versões, que possuam estes métodos.
Saiba mais
Em anexo vídeo com exemplo desta funcionalidade.
0 Comentários