Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Robinson Silva

Update Dinâmico em Procedure

Recommended Posts

Boas,

 

Gostaria de pedir um help na criação da seguinte procedure:

CREATE OR REPLACEProcedure INTEGRACAO.atualizaFlagSiga(empresa IN VARCHAR, tabela IN VARCHAR, id IN NUMBER)IS   strSQL VARCHAR2(300);   BEGIN	  strSQL:= ''; 	  IF(tabela = 'funcionarios') THEN		  strSQL := 'UPDATE ' || empresa || '.' || tabela || ' SET imp_siga = 1 WHERE id_funcionario = ' || id; 	  ELSIF(tabela = 'lancamento') THEN		  strSQL := 'UPDATE ' || empresa || '.' || tabela || ' SET imp_siga = 1 WHERE id_lancamento = ' || id; 	  ELSIF(tabela = 'nota_fiscal') THEN		  strSQL := 'UPDATE ' || empresa || '.' || tabela || ' SET imp_siga = 1 WHERE id_nota_fiscal = ' || id;	   	  ELSIF(tabela = 'pessoa') THEN		  strSQL := 'UPDATE ' || empresa || '.' || tabela || ' SET imp_siga = 1 WHERE id_cliente = ' || id;  	  ELSIF(tabela = 'empresa') THEN		  strSQL := 'UPDATE ' || empresa || '.' || tabela || ' SET imp_siga = 1 WHERE id_convenio = ' || id; 	  END IF;	  	  DBMS_OUTPUT.PUT_LINE(strSQL);	  EXECUTE IMMEDIATE strSQL;   END;
A minha idéia nessa procedure é receber os parâmetro empresa(cada empresa no banco de dados possue um schema) e fazer um UPDATE no respectiva tabela.

Como eu posso fazer, para ver a instrução SQL que ele está gerando. Eu acrescentei uma linha na procedure, a minha intenção é printar o conteúdo da variável strSQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.