Diferencia entre revisiones de «Queries con Variables»
De Dos Ideas.
(No se muestra una edición intermedia 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> | <code sql> | ||
DECLARE | DECLARE | ||
− | num_ini | + | 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 | + | INSERT INTO numeros_incrementales |
− | + | (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> | + | </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.