PauloTI 0 Denunciar post Postado Agosto 18, 2012 Vamos la.. preciso de uma procedure que faça um delete quando eu entrar com o numero do " MÊS " segue abaixo o que eu conseguir fazer... mas ainda assim não ta dando certo.. eu não manjo muito de PROCEDURE com DELETE embutido. valeu abç! CREATE OR REPLACE PROCEDURE TRD_DAAATA(V_NUM IN NUMBER) IS BEGIN FOR I IN (SELECT DISTINCT TO_CHAR(DATA_ADMISSAO,'MM') LOL FROM EMPRE WHERE DATA_ADMISSAO = TO_CHAR(V_NUM,'MM') GROUP BY TO_CHAR(DATA_ADMISSAO,'MM')) LOOP DELETE EMPRE WHERE I.LOL = TO_CHAR(V_NUM,'MM'); END LOOP; END; Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 19, 2012 quase ... CREATE OR REPLACE PROCEDURE TRD_DAAATA(P_MES IN NUMBER,P_QTD OUT NUMBER) IS BEGIN DELETE EMPRE WHERE TO_NUMBER(TO_CHAR(DATA,'MM')) = P_MES; P_QTD := SQL%ROWCOUNT; END; chamando (sqlplus) set serveroutput on; declare vn_mes number; vn_qtd number; begin TRD_DAAATA(vn_mes,vn_qtd); dbms_output_put_line(vn_qtd); end; obs : escrito no notepad, pode ter algum erro ... Compartilhar este post Link para o post Compartilhar em outros sites
PauloTI 0 Denunciar post Postado Agosto 19, 2012 quase ... CREATE OR REPLACE PROCEDURE TRD_DAAATA(P_MES IN NUMBER,P_QTD OUT NUMBER) IS BEGIN DELETE EMPRE WHERE TO_NUMBER(TO_CHAR(DATA,'MM')) = P_MES; P_QTD := SQL%ROWCOUNT; END; chamando (sqlplus) set serveroutput on; declare vn_mes number; vn_qtd number; begin TRD_DAAATA(vn_mes,vn_qtd); dbms_output_put_line(vn_qtd); end; obs : escrito no notepad, pode ter algum erro ... Não sei quem você é.... mas manja de mais KKKK valeu... não sabia q dava pra usar.. TO_NUMBER.. E TO_CHAR TODO JUNTO VALEUUUUUU MOTTA \O Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Agosto 20, 2012 Na realidade não precisa pois a conversão é automática, mas como é caso didatico melhor colocar. Em geral não respondo "deve de casa", mas você ao menos tentou. Compartilhar este post Link para o post Compartilhar em outros sites