Insertar registros en una tabla Oracle (Insert into)



El comando Insert into se utiliza para insertar registros en las tablas, los registros solo pueden ser ingresados por el usuario dueño de la tabla o por un usuario que posea privilegios de INSERT sobre la tabla.

La sintaxis básica es:

insert into nombre_tabla (columna1, columna2,…,) values (valor_columna1, valor_columna2,…,);

Ejemplo:
  1. insert into cliente(nombre, edad, pais, ciudad) values ('Carlos Gonzalez',23, 'Colombia','Cali');
  2. insert into cliente(ciudad, nombre, pais) values ('Cali','Carlos Gonzalez','Colombia');
  3. insert into cliente values ('Carlos Gonzalez', 23,'Colombia', 'Cali');


Las tres formas son válidas.

Cuando se especifican las columnas de la tabla en el insert into como en el ejemplo 1 y 2, no es necesario que las columnas estén en un orden, pero si es importante tener en cuenta los campos que son obligatorios y el tipo de dato que estos reciben porque se podría presentar un error. 

En el ejemplo 3 no se nombran las columnas de la tabla, en este tipo de insert es obligatorio pasar todos los valores del registro, es decir que si una tabla tiene 6 columnas el insert deberá tener 6 valores para el registro.

Ejercicio:

Se necesitan ingresar al sistema dos clientes nuevos, Carlos Gonzalez de 23 años de edad, quien se encuentra en Cali Colombia, y a Mary Thomas de 28 años quien se encuentra en Kolkata India.

1- Realizamos una consultamos a la tabla Clientes, para visualizar los registros antes y después del insert into:

Select * from cliente;
Nombre
Edad
Pais
Ciudad
Marcela
21
Estados unidos
Kansas City

2- Realizamos el Insert into:

insert into cliente(nombre, edad, país, ciudad) values ('Carlos Gonzalez',23,'Colombia','Cali');
insert into cliente(nombre, edad, país, ciudad) values ('Mary Thomas',28,'India','Kolkata');

3- Consultamos la tabla cliente debe existir 2 registros más, Quedando la tabla de clientes así.
Nombre
Edad
País
Ciudad
Marcela
21
Estados unidos
Kansas City
Carlos Gonzalez
23
Colombia
Cali
Mary Thomas
28
India
Kolkata