Añade filas a una tabla.
Para guardar los datos insertados hay que ejecutar COMMIT;
Para cancelar la insercción podemos hacer ROLLBACK;
Un formato posible es:
INSERT INTO nombre-tabla
VALUES (serie de valores)
El orden en el que se asignen los valores en la cláusula VALUES tiene que coincidir con el orden en que se definieron las columnas en la creación del objeto tabla, dado que los valores se asignan por posicionamiento relativo.
Por ejemplo:
INSERT INTO T_PEDIDOS
VALUES (125,2,'PEPE');
INSERT INTO nombre-tabla (columna1, columna2.....)
VALUES (valor1, valor2....)
En este caso los valores se asignarán a cada una de las columnas mencionadas por posicionamiento relativo.
Es necesario que por lo menos se asignen valores a todas aquellas columnas que no admiten valores nulos en la tabla (NOT NULL).
Por ejemplo:
INSERT INTO T_PEDIDOS (CODPEDIDO,ESTADO)
VALUES (125,2);
Para insertar un subconjunto de filas de una tabla en otra se escribe una sentencia INSERT con una SUBSELECT interna. Los formatos posibles son:
INSERT INTO nombre-tabla (columna1, columna2.....)
SELECT ([sentencia Select])
Asigna a las columnas los valores recuperados en la sentencia Select. Inserta en la tabla todas las filas que se recuperen en la Select.
Por ejemplo:
INSERT INTO T_PEDIDOS (CODPEDIDO,ESTADO,NOMBRE)
SELECT CODPEDIDO+100,ESTADO,NOMBRE FROM T_PEDIDOS WHERE CODPEDIDO IN (1,2,3);
Otra forma es:
INSERT INTO nombre-tabla SELECT * FROM nombre-tabla-fuente
En este caso las estructuras de las tablas tienen que ser iguales.
Este ejemplo copia hasta el pedido 100 en otra tabla:Ambas tablas son iguales.