Saltar al contenido

Aprende Como Usar el Comando INSERT en tus PL-SQL Procedures en Oracle

PL-SQL Procedures en OracleSi 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”

¡ Haz Click Aquí y Descárgalo GRATIS Ahora !

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

16 comentarios en «Aprende Como Usar el Comando INSERT en tus PL-SQL Procedures en Oracle»

    1. 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.

    1. 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.

  1. 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);

    1. 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.

    1. 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.

    1. 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.

    1. 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.

  2. 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

    1. 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.

  3. 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

    1. 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.