Diferencia entre revisiones de «Queries con Variables»

De Dos Ideas.
Saltar a: navegación, buscar
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
Hay ocaciones en las que se deben hacer inserts de muchos registros, en donde un ciclo for sería de utilidad para no repetir muchas veces la misma sentencia insert. Aquí un ejemplo de sql en donde se resuelve un insert de este tipo:
+
Hay ocaciones en las que se deben hacer inserts de muchos registros, en donde un ciclo '''for''' sería de utilidad para no repetir muchas veces la misma sentencia insert.  
 +
Aquí un ejemplo de sql en donde se resuelve un insert de este tipo:
  
 +
<code sql>
 
DECLARE
 
DECLARE
   num_ini   NUMBER := 100;
+
   num_ini         NUMBER := 100;
 
   cantidad_total  NUMBER := 99;
 
   cantidad_total  NUMBER := 99;
 
   idx              NUMBER := 0;
 
   idx              NUMBER := 0;
Línea 8: Línea 10:
 
   FOR idx IN 0 .. cantidad_total
 
   FOR idx IN 0 .. cantidad_total
 
   LOOP
 
   LOOP
       INSERT INTO msj_numeros_cortos
+
       INSERT INTO numeros_incrementales
                  (id_tabla, num_incremental
+
                (id_registro, num_incremental
 
                   )
 
                   )
 
           VALUES (idx + 1, num__ini + idx  
 
           VALUES (idx + 1, num__ini + idx  
Línea 15: Línea 17:
 
   END LOOP;
 
   END LOOP;
 
END;
 
END;
 +
</code>
 +
 +
Este código insertará en la tabla registros con campo id_registro desde 0 hasta 99 y campo num_incremental desde 100 a 199.
  
 
== Ver también ==
 
== Ver también ==

Revisión actual del 20:24 28 sep 2009

Hay ocaciones en las que se deben hacer inserts de muchos registros, en donde un ciclo for sería de utilidad para no repetir muchas veces la misma sentencia insert. Aquí un ejemplo de sql en donde se resuelve un insert de este tipo:

DECLARE

  num_ini          NUMBER := 100;
  cantidad_total   NUMBER := 99;
  idx              NUMBER := 0;

BEGIN

  FOR idx IN 0 .. cantidad_total
  LOOP
     INSERT INTO numeros_incrementales
                (id_registro, num_incremental
                 )
          VALUES (idx + 1, num__ini + idx 
                 );
  END LOOP;

END;

Este código insertará en la tabla registros con campo id_registro desde 0 hasta 99 y campo num_incremental desde 100 a 199.

Ver también