[Dica] Deletando linhas de um TYPE !

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
ricards
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 52
Registrado em: Sáb, 29 Set 2007 12:59 am
Localização: Araraquara-SP
Contato:
Ricardo Neves
Analista e Instrutor Oracle Developer
Java Developer (JPA/JSF/Hibernate/WebServices/EJB)

O SCRIPT MOSTRA COMO EXLUIR LINHAS DE UM TYPE

Selecionar tudo

DECLARE
   TYPE tp IS RECORD( cod NUMBER,nome VARCHAR2(30));
   TYPE Ttb IS TABLE OF tp INDEX BY BINARY_INTEGER;

   tb1 Ttb;
   tb2 Ttb;
BEGIN
   tb1(1).cod := 1; tb1(1).nome := 'Pedro';
   tb1(2).cod := 2; tb1(2).nome := 'Luiza';
   tb1(3).cod := 3; tb1(3).nome := 'Vinicius';   
   tb1(4).cod := 4; tb1(4).nome := 'Tiago';
   --
   FOR V_I IN TB1.FIRST .. TB1.LAST LOOP
       IF MOD(V_I,2) = 0 THEN
           TB1.DELETE(V_I);
       END IF;
   END LOOP;
   --
   FOR V_I IN TB1.FIRST .. TB1.LAST LOOP
       IF TB1.EXISTS(V_I)  THEN
           TB2(TB2.COUNT+1) := TB1(V_I);
       END IF;
   END LOOP;
   --
   FOR V_X IN TB2.FIRST..TB2.LAST LOOP
     DBMS_OUTPUT.PUT_LINE(TB2(V_X).COD||' - '||TB2(V_X).NOME);
   END LOOP;
END;
Responder
  • Informação