Si aprendes como se debe utilizar correctamente el comando INSERT podrás insertar datos o crear filas en las tablas de tu Base de Datos Oracle a través de tus PL-SQL Procedures en Oracle.
El comando INSERT básicamente te permite introducir datos en una tabla a la vez en tus PL-SQL Procedures en Oracle, para poder realizar esta tarea la tabla debe contar con el privilegio de INSERT, de lo contrario la creación de registros o filas será denegada.
Con el comando INSERT también puedes insertar filas en una VIEW (vista) y para poder hacerlo la tabla base también debe tener el privilegio de INSERT en tus PL-SQL Procedures en Oracle.
Revisemos la sintaxis básica del comando INSERT en tus PL-SQL Procederes en Oracle:
/* PL-SQL Procedures en Oracle */
INSERT INTO {tabla | vista}
[ (columna [, columna] …) ]
{VALUES (expresión [, expresión] …) }
Donde:
INSERT INTO= Permite identificar la tabla o vista donde deseas insertar una fila en tus PL-SQL Procedures en Oracle.
Tabla= Corresponde al nombre de la tabla donde se insertará el registro.
Vista= Corresponde al nombre de la vista donde se insertará el registro.
Columna= Permite identificar el nombre de la o las columnas en las que se insertarán los datos en tus PL-SQL Procedures en Oracle.
VALUES= Permite identificar los datos o expresiones que se insertarán en las columnas especificadas.
Veamos un ejemplo para que entiendas mejor como se debe usar el comando INSERT en tus PL-SQL Procedures en Oracle.
TÚ REPORTE: “Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”
Ejemplo #1: Supone que debes insertar un registro en la tabla de empleados, veamos como se hace:
/* PL-SQL Procedures en Oracle */
INSERT INTO t_empleado(
Id_empleado,
Nombre,
Direccion,
Edad,
Id_departamento)
VALUES(
123,
‘Manuel Aguilar R.’,
‘Las Avellanas #8952, San Miguel, Valparaiso’,
26,
55);
En este ejemplo se inserta un nuevo empleado en la tabla t_empleado en tus PL-SQL Procedures en Oracle, los valores o datos definidos en la cláusula VALUES deben escribirse en el mismo orden en el que se encuentran definidas las columnas en la cláusula INTO, de lo contrario se producirán errores o los datos quedarán inconsistentes.
Te propongo que pruebes de inmediato estos ejemplos en tu Base de Datos con tus propias tablas, PL-SQL Procedures en Oracle y PL-SQL Function en Oracle, para que comiences a ejercitar la mano y aprendas a dominar esta nueva técnica en tus PL-SQL Packages en Oracle.
Estoy muy interesado en conocer tu opinión y/o comentario sobre este artículo, también cuéntame sobre qué es lo que quieres saber de PL-SQL Procedures en Oracle y/o dime cuál es tu principal frustración a la hora de trabajar con PL-SQL Procedures en Oracle. Estaré muy atento respondiendo tus preguntas y/o comentarios, gracias.
Saludos
Roberto Vicencio – Escritor del Reporte:
“Cómo Construir un SELECT Eficiente en ORACLE en Solo 7 Pasos”
no corre tu query no sirve
Hola Juan, gracias por comunicarte, para que la query funcione correctamente primero debes crear la tabla t_empleado en tu base de datos con los campos correspondientes, donde el id_empleado, edad y id_departamento deben ser de tipo number(10) y el nombre y dirección deben ser del tipo varchar2(100), de esta forma debe funcionar exitosamente, gracias.
PD: Ya obtuviste mi reporte gratuito de ‘Cómo Construir un Select Eficiente en Oracle en Solo 7 Pasos’, si aún no lo has hecho puedes descargarlo desde aquí:
https://dominatuspackagesen0racle.com/
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
no tengo oracle, como puedo correr unprograma, y gracias por la oportunidad de aprender
Hola Juan, gracias por comunicarte, si no tienes Oracle puedes correr un programa en una cuenta de test en tu trabajo, si tienes PC puedes instalar una versión gratuita de Oracle, para instalarla existen varios videos en youtube que te explican como hacerlo.
PD: Si por algun motivo te perdiste el seminario sobre ‘SELECT de Múltiples Tablas’, ahora puedes ver la grabación en diferido la que estará disponible SOLO por unos días, tengo una oferta especial para ti, puedes acceder GRATIS desde aquí:
https://dominatuspackagesen0racle.com/v/seminario-smt
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
cual es la funcion para hacer un inset a partir del maximo resultado.
es desir si hay 400 empleados que automaticamente te calcule y el siguiente insert sea el 401
ejempo
INSERT INTO t_empleado(Id_empleado,Nombre,Direccion,Edad,Id_departamento)
VALUES(MAX(Id_empleado(t_empleado),‘Manuel Aguilar R.’,‘Las Avellanas #8952,San Miguel, Valparaiso’,26,55);
Hola Dani, gracias por comunicarte, para obtener el ultimo Id e ir incrementándolo de forma automática puedes hacer algo como lo siguiente:
INSERT INTO t_empleado(Id_empleado,Nombre,Direccion,Edad,Id_departamento)
VALUES((select MAX(Id_empleado)+1 from t_empleado),‘Manuel Aguilar R.’,‘Las Avellanas #8952,San Miguel, Valparaiso’,26,55);
PD: Ya obtuviste mi libro-reporte gratis sobre “Cómo Construir un Select Eficiente en Oracle en Solo 7 Pasos”, si aún no lo tienes puedes obtenerlo desde aquí:
https://dominatuspackagesen0racle.com/
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
deseo sabes como llamar procedimientos que se encuentran en otra base de datos, doferente a la que estoy conectado , lei algo que habla de los proc,
<<<<<<<<<<>>>>>>>>>>>>>>>>>>>
Hola Ruben, gracias por comunicarte, tu pregunta es muy interesante y la solución es mas o menos fácil, lo primero que debes hacer es crear un dblink para conectarse a la otra base de datos y luego debes hacer algo como lo siguiente:
EXECUTE tu_esquema.tu_procedure@tu_dblink_bd(param1,param2,param3…);
PD: Te invito a seguir visitando nuestro blog y a estar atento a tu email porque seguiré enviandote información que te sea de utilidad:
https://dominatuspackagesen0racle.com/
Saludos
Roberto Vicencio – Para tu Éxito con Oracle.
Hola quisiera saber como se hace para insertar registros (10 por ejemplo) en una tabla vacía a través de un ciclo for
Hola Nacho, gracias por comunicarte, para insertar una cierta cantidad de registros a una tabla puedes hacer lo siguiente:
for reg in 1..10 loop
insert into…
end loop;
PD: Ya pudiste ver mi libro reporte sobre ‘Cómo Crear un SELECT Eficiente en ORACLE en Solo 7 Pasos’, si aun no lo tienes en tus manos puedes obtenerlo desde aquí https://dominatuspackagesen0racle.com/, si te ha gustado lo que has visto del blog te invito a compartir el enlace https://dominatuspackagesen0racle.com/ con tus amigos o personas que también les pueda interesar este contenido, gracias.
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
Buenas tardes, una consulta.
¿Como haria para realizar un insert desde un with hacia una tabla x?
Hola Anyer, gracias por comunicarte, un with es un select que incluye mas elementos y para hacer un insert a otra tabla lo debes hacer de la misma forma que lo haces desde cualquier select, por ejemplo si tu with retorna solo una fila guardas el resultado en variables y haces el insert, algo como lo siguiente:
with
select ta.campo1, ta.campo2
into v_campo1, v_campo2
from tabla_a ta;
insert into tabla_b(campo1,campo2) values(v_campo1,v_campo2);
PD: Si te ha gustado lo que has visto del blog te invito a compartir el enlace https://dominatuspackagesen0racle.com/ con tus amigos o personas que también les pueda interesar ver esta información, gracias.
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
buen dia hermano.tengo una duda y no se si se podra hacer. estoy obteniendo de una tabla varios registros (con 5 campos) relacionados a un mismo id y me gustaria meterlos en un campo de otra tabla con el id
Hola Roger, gracias por comunicarte, lo que puedes hacer es concatenar los campos al momento de grabar de la siguiente forma:
campo_destino= campo1||campo2||campo3||campo4||campo5
PD: Ya viste mi libro-reporte sobre “Cómo Crear un SELECT Eficiente en ORACLE en Solo 7 Pasos”, si aun no lo tienes en tus manos puedes obtenerlo gratis desde aquí: https://dominatuspackagesen0racle.com/
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.
Hola necesito insertar en una tabla, pero con condición o sea insertar un dato cuando haya un dato específico Ex: INSERT into tabla(campos) valués (cxxx) where (Po:=34); espero su ayuda
Hola Abraham, gracias por comunicarte, en un insert no puedes usar un where, para hacer esto debes usar un if como lo siguiente:
if Po=34 then
INSERT into tabla(campos) valués (cxxx);
end if;
PD: Ya viste mi guía sobre “Cómo Crear SELECT Eficientes en ORACLE en Solo 7 Pasos”, si aun no la tienes en tus manos puedes obtenerla gratis desde aquí: https://dominatuspackagesen0racle.com/cmrz
PD2: Si te ha gustado lo que has visto del blog te invito a compartir el enlace https://dominatuspackagesen0racle.com/cmbl/ con tus amigos o personas que también les pueda interesar ver esta información, gracias.
Saludos
Roberto Vicencio – Para Tu Éxito con Oracle.