Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
Oracle/PLSQL: sentencia INSERT ALL
Este tutorial de Oracle describe cómo usar Oracle insertar todas las declaraciones Con sintaxis y ejemplos.
describir
La declaración INSERT ALL de Oracle se usa para agregar varias filas con una sola declaración INSERT. Las filas se pueden insertar en una tabla o en varias tablas usando solo un comando SQL.
sintaxis
La sintaxis de la sentencia INSERT ALL en Oracle/PLSQL es:
INSERT ALL INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr_n) INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr_n) INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr_n) SELECT * FROM dual;
parámetro o parámetro
mytable La tabla en la que se insertarán los registros. column1, column2, column_n Las columnas de la tabla para insertar valores. expr1, expr2,… expr_n Valores a asignar a las columnas de la tabla.
Ejemplo: insertar una tabla
Puede usar la instrucción INSERT INTO para insertar varios registros en una tabla.
Por ejemplo, si quisiera insertar 3 filas en la tabla de proveedores, podría ejecutar la siguiente instrucción SQL:
INSERT ALL INTO suppliers (supplier_id, supplier_name) VALUES (1000, 'IBM') INTO suppliers (supplier_id, supplier_name) VALUES (2000, 'Microsoft') INTO suppliers (supplier_id, supplier_name) VALUES (3000, 'Google') SELECT * FROM dual;
Esto es equivalente a las siguientes 3 declaraciones INSERT:
INSERT INTO suppliers (supplier_id, supplier_name) VALUES (1000, 'IBM'); INSERT INTO suppliers (supplier_id, supplier_name) VALUES (2000, 'Microsoft'); INSERT INTO suppliers (supplier_id, supplier_name) VALUES (3000, 'Google');
Ejemplo: insertar varias tablas
También puede usar la instrucción INSERT ALL para insertar varias filas en varias tablas con un solo comando.
Por ejemplo, si quisiera insertar en las tablas de proveedores y clientes, podría ejecutar la siguiente instrucción SQL:
INSERT ALL INTO suppliers (supplier_id, supplier_name) VALUES (1000, 'IBM') INTO suppliers (supplier_id, supplier_name) VALUES (2000, 'Microsoft') INTO customers (customer_id, customer_name, city) VALUES (999999, 'Anderson Construction', 'New York') SELECT * FROM dual;
Este ejemplo insertará 2 filas en la tabla Proveedores y 1 fila en la tabla Clientes. Equivale a ejecutar estas 3 instrucciones INSERT:
INSERT INTO suppliers (supplier_id, supplier_name) VALUES (1000, 'IBM'); INSERT INTO suppliers (supplier_id, supplier_name) VALUES (2000, 'Microsoft'); INSERT INTO customers (customer_id, customer_name, city) VALUES (999999, 'Anderson Construction', 'New York');