Está en la página 1de 1

ORACLE DML - INSERT

http://ora.u440.com/dml/insert.html

Inicio | dba | usuarios | ddl | dml| plsql| cadena | grupo | fecha | numeros | conversion | sistema | errores
COMMIT | DELETE | INSERT | LOCK TABLE | ROLLBACK | SAVEPOINT | SELECT | TRUNCATE | UNION | UPDATE | WHERE

Sentencia INSERT
Aade filas a una tabla. Para guardar los datos insertados hay que ejecutar COMMIT; Para cancelar la inserccin podemos hacer ROLLBACK;
Un formato posible es: INSERT INTO nombre-tabla VALUES (serie de valores) Ms vistos:

Twittear

1. CREATE INDEX 2. DECODE 3. TO_CHAR 4. TO_DATE 5. SELECT 6. GRANT 7. INSERT 8. TUNNING 9. UPDATE 10. CREATE USER

El orden en el que se asignen los valores en la clusula VALUES tiene que coincidir con el orden en que se definieron las columnas en la creacin del objeto tabla, dado que los valores se asignan por posicionamiento relativo.
Por ejemplo: INSERT INTO T_PEDIDOS VALUES (125,2,'PEPE'); Otra forma de usar la sentecia INSERT es: INSERT INTO nombre-tabla (columna1, columna2.....) VALUES (valor1, valor2....)

En este caso los valores se asignarn 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);

Sentencia INSERT de mltiples filas


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: INSERT INTO T_PEDIDOS_BAK SELECT * FROM T_PEDIDOS WHERE CODPEDIDO<100;

Ambas tablas son iguales.

Explicacin de la sintaxis utilizada para los comandos: Las palabras en mayusculas son comandos de oracle. Las palabras en minusculas son opiones modificables Las partes enmarcadas con [] son opcionales Las palabras en negrita son las opciones por defecto Las partes enmarcadas con {} son alternativas (una u otra). El simbolo | indica OR

1 de 1

04/04/2013 03:13 a.m.

También podría gustarte