MARCO RIDOLPHI Postado 30 de Novembro de 2012 Tópicos Que Criei: 1 Tópicos/Dia: 0.00 Meu Conteúdo: 1 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 15 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Denunciar Compartilhar Postado 30 de Novembro de 2012 Boa tarde, Criei uma procedure mas não consigo que ela seja executada pelo relatório. Ela tem 3 campos que uso como filtro. Ja estão no relatório como parametros. E UM DELETE E UM INSERT. Somente isso, alguem pode me ajudar? CREATE OR REPLACE PROCEDURE SP_DPCPLOGCALCULO AS ESPELHO#1 NUMBER(5); ESPELHO#2 VARCHAR(4); ESPELHO#3 NUMBER(2); ESPELHO#4 NUMBER(2); P_CODCOLIGADA NUMBER(5); P_ANOCOMP VARCHAR(4); P_MESCOMP NUMBER(2); P_NROPERIODO NUMBER(2); BEGIN -- P_CODCOLIGADA :=ESPELHO#1; -- P_ANOCOMP :=ESPELHO#2; -- P_MESCOMP :=ESPELHO#3; -- P_NROPERIODO :=ESPELHO#4; /*Inicio da limpeza do Conteudo da Tabela */ DELETE FROM ZDPCPLOGFUNCIONARIO WHERE ZDPCPLOGFUNCIONARIO.EXECID IN (SELECT PFPERFF.EXECID FROM PFPERFF WHERE PFPERFF.CODCOLIGADA =P_CODCOLIGADA AND PFPERFF.ANOCOMP =P_ANOCOMP AND PFPERFF.MESCOMP =P_MESCOMP AND PFPERFF.NROPERIODO =P_NROPERIODO ); COMMIT; /*Fim da limpeza do Conteudo da Tabela */ /*Inicio do INSERT da tabela produção para a tabela customizada */ INSERT INTO ZDPCPLOGFUNCIONARIO SELECT PLOGFUNCIONARIO.EXECID, PLOGFUNCIONARIO.CHAPA, PLOGFUNCIONARIO.STATUS, TO_LOB(PLOGFUNCIONARIO.MENSAGEMERRO), PLOGFUNCIONARIO.RECCREATEDBY, PLOGFUNCIONARIO.RECCREATEDON, PLOGFUNCIONARIO.RECMODIFIEDBY, PLOGFUNCIONARIO.RECMODIFIEDON FROM PLOGFUNCIONARIO INNER JOIN PFPERFF ON PFPERFF.EXECID = PLOGFUNCIONARIO.EXECID WHERE PFPERFF.CODCOLIGADA=P_CODCOLIGADA AND PFPERFF.ANOCOMP=P_ANOCOMP AND PFPERFF.MESCOMP=P_MESCOMP AND PFPERFF.NROPERIODO=P_NROPERIODO; COMMIT; END; Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
João Rodrigo Postado 30 de Novembro de 2012 Tópicos Que Criei: 6 Tópicos/Dia: 0.00 Meu Conteúdo: 290 Conteúdo/Dia: 0.06 Reputação: 17 Pontos/Conquistas: 1.523 Conteúdo Resolvido: 0 Dias Ganho: 12 Status: Offline Denunciar Compartilhar Postado 30 de Novembro de 2012 (editado) Qual é a ideia? através do relatório alterar/excluir dados do banco? é um pouco perigoso com relação a segurança, mas se for isso não será assim! vc cria esta proc no seu banco: create FUNCTION Z__DPCPLOGCALCULO(@P_CODCOLIGADA NUMERIC(5),@P_ANOCOMP VARCHAR(4),@P_MESCOMP NUMERIC(2), @P_NROPERIODO NUMERIC(2)) RETURNS @Tlb TABLE(MSG VARCHAR(100)) AS begin DELETE FROM ZDPCPLOGFUNCIONARIO WHERE ZDPCPLOGFUNCIONARIO.EXECID IN (SELECT PFPERFF.EXECID FROM PFPERFF WHERE PFPERFF.CODCOLIGADA =@P_CODCOLIGADA AND PFPERFF.ANOCOMP =@P_ANOCOMP AND PFPERFF.MESCOMP =@P_MESCOMP AND PFPERFF.NROPERIODO =@P_NROPERIODO ) INSERT INTO ZDPCPLOGFUNCIONARIO SELECT PLOGFUNCIONARIO.EXECID,PLOGFUNCIONARIO.CHAPA,PLOGFUNCIONARIO.STATUS,TO_LOB(PLOGFUNCIONARIO.MENSAGEMERRO),PLOGFUNCIONARIO.RECCREATEDBY,PLOGFUNCIONARIO.RECCREATEDON,PLOGFUNCIONARIO.RECMODIFIEDBY,PLOGFUNCIONARIO.RECMODIFIEDON FROM PLOGFUNCIONARIO INNER JOIN PFPERFF ON PFPERFF.EXECID = PLOGFUNCIONARIO.EXECID WHERE PFPERFF.CODCOLIGADA=P_CODCOLIGADA AND PFPERFF.ANOCOMP=@P_ANOCOMP AND PFPERFF.MESCOMP=@P_MESCOMP AND PFPERFF.NROPERIODO=@P_NROPERIODO RETURN end e cadastra uma consulta SQL select * from Z__DPCPLOGCALCULO(ESPELHO#1, ESPELHO#2, ESPELHO#3, ESPELHO#4) e coloca a consulta em seu relatório ou pode até apenas executá-la Editado 30 de Novembro de 2012 por João Rodrigo Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.