prucommercialre.com


Cómo programar con PL / SQL en Oracle 12c

Hay varias maneras diferentes de trabajar dentro de su base de datos Oracle 12c para manipular los datos. PL / SQL es un lenguaje estructurado de consultas (SQL) con más poderosas contructs programáticas construidas alrededor de su código. Por ejemplo, ofertas PL / SQL

  • Looping de control
  • Variables
  • Si / entonces construye
  • El manejo de errores

SQL normal realmente no tiene nada de esto. SQL normal es bueno para usar en el código que actúa sobre datos específicos en el "ahora". No se puede tomar ninguna decisión por datos. Usted tiene que saber lo que los datos son - y cómo quiere que se vea.

PL / SQL también es más seguro que SQL regular. En la actualidad, cuando los usuarios ejecutan SQL, que tienen que tener permisos de los objetos subyacentes en los que los datos vive. Sin embargo, con PL / SQL, programas nombrados ejecutan con los permisos del propietario.

De esa manera, el titular de los datos podría escribir un programa para gestionar los datos. El dueño entonces da acceso al programa para el usuario, no los objetos subyacentes. Por ejemplo, supongamos que tiene un programa que extrae historia del sueldo de un usuario para que vean.

Usted no desea que el usuario pueda seleccionar en la tabla salarial de los empleados. Y sin un programa PL / SQL, que es lo que tendría que hacer. Puede codificar para que cuando se ejecuta el programa, el programa de tira en el usuario conectado como una variable y recoge la historia del sueldo para que sólo el usuario.

PL / SQL es a menudo el dominio principal de los desarrolladores de aplicaciones. Como administrador de base de datos (DBA), sin embargo, también debe estar familiarizado con las premisas básicas del código y ser capaz de leer cómo funciona el código. A pesar de que los administradores de bases pueden no ser los desarrolladores de aplicaciones, que serán llamados para ayudar a solucionar problemas de código o código melodía que puede estar en la forma de programas PL / SQL.

Tipos básicos de PL / SQL en Oracle programas 12c

PL / SQL programas vienen en muchas formas. Programas PL / SQL también se refieren a veces como "unidades de programa." Vea a continuación para obtener una lista de los tipos comunes de PL / SQL construye te encontrarás.

Nombre Descripción
ANÓNIMO BLOQUE Un nombre-programa que se ejecuta desde la línea de comandos
PROCEDIMIENTO Almacenado, llamado programa que realiza unas tareas
FUNCIÓN Programa que toma la entrada, actúa sobre ella, y produce una salida
PAQUETE Grupo de los procedimientos y / o funciones con nombre que se relaciona por tarea
GATILLO Programa actúa sobre el resultado de alguna otra acción; dispara automáticamente
Fundamentos de la estructura PL / SQL bloque de Oracle 12c

PL / SQL programas se basan en la estructura de bloque. Es decir, que se pueden dividir en partes específicas del programa basado en la función. Las partes del bloque PL / SQL varían ligeramente en función del tipo de unidad de programa, pero todos ellos tienen características similares. He aquí un desglose de las partes de una unidad de programa PL / SQL:

  • Declarativa: Esta sección contiene el nombre de la unidad (si está nombrado) y las variables. Las variables se denominan, mecanografiado, y opcionalmente inicializados en la sección. La unidad de programa no se llamaría si se codifica como un bloque anónimo. Un bloque anónimo se utiliza cuando se está a menudo escribiendo un programa para un solo uso.
  • Cuerpo: Esta es la sección que contiene la carne del programa. Contiene la funcionalidad y la lógica de negocio necesaria para procesar las variables y datos. Va a ver las cosas como bucles y si / entonces en esta sección.
  • Excepción: Esta sección define y maneja los errores que surgen durante la tramitación del cuerpo. Si un error se maneja adecuadamente, a menudo el programa puede continuar funcionando. O, al menos, la salida de un mensaje significativo para el usuario final. Si se detecta un error y no se maneja por la sección de excepción, a menudo el programa aborta con un mensaje de error por defecto.
  • END: La sección final no contiene nada. Simplemente significa que el programa está en el extremo de su procesamiento. Y en un paquete de muchos procedimientos, la sección de extremo separa del siguiente procedimiento en la lista.

Cómo llamar PL / SQL con programas Oracle 12c

PL / SQL Los procedimientos, funciones y paquetes se denominan en un par de maneras diferentes. Usted puede utilizar el comando EXECUTE, o puede llamar al programa como parte de otro bloque. Disparadores, por otro lado, no son llamados desde la línea de comandos.

Ellos ejecutan automáticamente sólo después de completar algún otro proceso. Por ejemplo, es posible que desee un gatillo para disparar cada vez que alguien actualiza la columna salario de la tabla empleados. Entonces, tal vez el gatillo dispara un e-mail al gerente de Recursos Humanos para informar del cambio.

El comando DESCRIBE también puede trabajar en contra de los programas de PL / SQL. Esto puede resultar útil si no conoce los argumentos o variables que el procedimiento puede tomar para la entrada. Por ejemplo, supongamos que tiene un procedimiento que recibe el salario de un empleado basada en la primera y última entrada del nombre. El procedimiento se llama get_sal.

SQL> DESCRIBE get_sal
Get_sal PROCEDIMIENTO
Nombre Argumento Tipo de entrada / salida por defecto?
------------------------------ -------------------- --- ------ --------
P_LAST_NAME VARCHAR2 EN
P_FIRST_NAME VARCHAR2 EN

El procedimiento se lleva a IN argumentos de tipo VARCHAR2.

He aquí cómo usted ejecutar el procedimiento con el comando EXECUTE, usando el empleado Mike Whalen:

SQL> EJECUTAR get_sal ('Whalen', 'Mike')
Mike, Whalen - Gana: 8,300 dólar
PL / SQL terminado con éxito.

Como se mencionó anteriormente, Oracle tiene una gran cantidad de paquetes pre-suministrado, procedimientos y funciones para la gestión de la base de datos. Para obtener una lista completa, vaya a la siguiente sección de la documentación que describe todas las unidades de programa suministrados por Oracle.

Éstos son algunos ejemplo programas Oracle suministra.

Nombre Descripción
DBMS_SCHEDULER Gestiona el planificador base de datos interna
DBMS_STATS Reúne estadísticas sobre los usuarios, los objetos, el sistema y toda la base de datos
SYSDATE Hora salidas y fecha de sistema
UTL_MAIL Utilidad para el correo electrónico con las características, tales como archivos adjuntos, CC y CCO
DBMS_METADATA Función para tirar de objetos DDL de base de datos, entre otras tareas
DBMS_DATAPUMP API Gestiona Data Pump dentro de un programa PL / SQL