pl sql package oracle pl sql package tutorial with examples
Conozca el paquete PL SQL, sus ventajas, especificaciones y estructura:
En este artículo, continuaremos con Serie PL / SQL . En el Registros PL SQL tutorial, hemos aprendido sobre registros y tipos de registro con ejemplos de programación.
Aquí exploraremos paquetes en PL / SQL y algunas características importantes de los paquetes. Además, discutiremos algunas de las operaciones básicas sobre ellos.
También discutiremos los paquetes dbms_ouput en PL / SQL y sus subprogramas.
¡¡Comencemos con los aprendizajes !!
Lo que vas a aprender:
Paquete PL SQL
Un paquete es un objeto en forma de esquema que segrega elementos, tipos y subprogramas conectados lógicamente en PL / SQL. Un paquete consta de dos partes: Especificación del paquete y Cuerpo o definición del paquete .
La especificación del paquete es como una interfaz para la aplicación y se utiliza para declarar variables, constantes, tipos, excepciones, cursores y subprogramas. El cuerpo de un paquete implementa los subprogramas y cursores declarados en la especificación del paquete.
Podemos actualizar, depurar o cambiar el cuerpo de un paquete sin tocar la especificación del paquete (también llamada interfaz del paquete).
Ventajas del paquete PL / SQL
Las ventajas del paquete se enumeran a continuación:
- Le da modularidad a nuestro código.
- Ayuda a diseñar la aplicación fácilmente.
- El paquete PLSQL ayuda a ocultar información con la ayuda de elementos públicos y privados, tipos de datos y subprogramas.
- El paquete permite mantener información sobre todas las transacciones sin necesidad de almacenarla en la base de datos.
- Los paquetes ayudan a mejorar el rendimiento de la ejecución.
Especificación del paquete
Una especificación de paquete es como una interfaz para el paquete. Se encarga de la declaración de variables, constantes, tipos, excepciones, cursores y subprogramas. Por lo tanto, tiene todos los detalles sobre el contenido del paquete, pero no tiene la implementación de los subprogramas.
Los objetos dentro de una especificación de paquete son objetos públicos. Todos los subprogramas implementados dentro de un cuerpo de paquete son objetos privados. Podemos declarar múltiples variables, funciones o procedimientos globales dentro de la especificación del paquete.
Una especificación de paquete es una entidad independiente y puede existir sin un cuerpo de paquete.
Implementación de código:
|_+_|La salida del código anterior:
Cuerpo del paquete
El cuerpo del paquete contiene la implementación de los cursores y subprogramas declarados en la especificación del paquete. Debe recordarse que se puede acceder a los subprogramas implementados en el cuerpo del paquete fuera del paquete siempre que estén declarados en la especificación del paquete.
El subprograma declarado en la especificación y el cuerpo del paquete debe ser exacto. Esta comparación se realiza token por token de sus encabezados. En caso de que no coincidan, PL / SQL lanza una excepción.
programa de copia de seguridad gratuito para windows 7
El cuerpo del paquete puede contener otros subprogramas que no están declarados en la especificación del paquete. En ese caso, son privados solo para el cuerpo del paquete. CREAR CUERPO DEL PAQUETE es la palabra clave utilizada para crear un cuerpo de paquete.
Tomemos un ejemplo para crear el cuerpo del paquete para el los demás paquete.
Implementación de código con el cuerpo del paquete.
|_+_|La salida del código anterior debería ser.
Consulte los elementos del paquete
Cuando terminamos de declarar los elementos en la especificación del paquete e implementarlos en el cuerpo del paquete, debemos hacer referencia a estos elementos. Los elementos del paquete constan de funciones, procedimientos y variables.
Se puede acceder a estos elementos públicos del paquete mediante el nombre del paquete seguido del nombre del elemento separado por la notación de punto (.).
Sintaxis:
|_+_|Implementación de codificación para acceder a elementos:
|_+_|La salida del código anterior:
los principales derechos de acceso a archivos en Unix son:
Cree un paquete PL SQL
Si se llama o se hace referencia a un paquete en una sesión, se crea una nueva instancia de ese paquete en PL / SQL. Tenemos la opción de inicializar los elementos del paquete o realizar cualquier otra acción durante la creación de la instancia con el bloque de código de Inicialización del Paquete. Este es el bloque de código ejecutable dentro del cuerpo del paquete después de la inicialización de los elementos del paquete.
Sintaxis de la creación de paquetes:
|_+_|Aquí, package_n es el nombre del paquete.
Sobrecarga de un paquete
Puede haber varios subprogramas dentro de un paquete con nombres similares. Esta característica es útil si queremos tener parámetros homogéneos con tipos de datos heterogéneos. El concepto de sobrecarga dentro del paquete permite a los programadores mencionar claramente el tipo de acción que quieren realizar.
Implementación de codificación con sobrecarga de procedimientos. (Paquete creado):
|_+_|La salida del código anterior:
Implementación de codificación con sobrecarga de procedimientos. (Cuerpo del paquete creado)
|_+_|La salida del código anterior:
Implementación de codificación con sobrecarga de procedimientos. (Procedimiento de paquete en referencia)
|_+_|La salida del código anterior:
Dependencia del paquete PLSQL
Las dependencias del paquete en PL / SQL se enumeran a continuación:
- Una especificación de paquete es una identidad independiente.
- El cuerpo del paquete depende de la especificación del paquete.
- El cuerpo de un paquete solo se puede compilar por separado. Sin embargo, si se compila una especificación de paquete, el cuerpo debe compilarse nuevamente.
- La función o un procedimiento dentro del cuerpo de un paquete que depende de los elementos privados debe implementarse después de la declaración de los elementos privados.
Directrices para crear un paquete en PL SQL:
- Un paquete debe estar escrito en términos genéricos para que puedan reutilizarse en el futuro.
- Evite la duplicación de características en un paquete.
- La especificación del paquete contiene la clave para una aplicación diseñada correctamente. Complete la especificación del paquete antes de crear el cuerpo del paquete.
- Una especificación de paquete solo debe contener elementos, subprogramas y tipos que deben ser accesibles para los usuarios del paquete. No debe tener información de implementación innecesaria.
- La especificación del paquete debe contener un número limitado de elementos. Ahorrará tiempo para recompilar el código ya que una modificación a la especificación del paquete requiere que PL / SQL recompile todos los subprogramas que hacen referencia al paquete.
Información del paquete en PL / SQL
Todos los detalles relevantes como el origen del paquete, los subprogramas y los elementos sobrecargados se almacenan en tablas de definición de datos después de que se crea un paquete.
La lista de tablas de definición de datos es la siguiente:
- USER_PROCEDURES: Esta tabla contiene información de subprograma como los elementos sobrecargados, object_id, etc. para el usuario actual.
- TODOS_PROCEDIMIENTOS: Esta tabla contiene información del subprograma como los elementos sobrecargados, object_id, etc. para todos los usuarios.
- USER_SOURCE: Esta tabla contiene la información sobre la fuente del objeto para el usuario actual.
- ALL_SOURCE: Esta tabla contiene la información sobre la fuente del objeto para todos los usuarios.
- ALL_OBJECT: Esta tabla contiene la información sobre el paquete como la fecha de creación, id_objeto y otros detalles del objeto para todos los usuarios.
Salida DBMS en PL / SQL
El paquete DBMS_OUTPUT permite la visualización de la salida PL / SQL producida a partir de subprogramas y bloques de código. Esto nos ayuda a depurar, probar nuestro código y enviar mensajes.
los put_line El procedimiento produce los datos de salida en un búfer. La información se muestra con la ayuda del obtener línea procedimiento o configurando SERVEROUTPUT ON en SQL * Plus.
El paquete DBMS_OUTPUT contiene los siguientes subprogramas:
Si. No. | Nombre | Propósitos |
---|---|---|
1 | DBMS_OUTPUT.DISABLE | Limita la salida del mensaje. |
2 | DBMS_OUTPUT.ENABLE (búfer EN INTEGER DEFAULT 20000) | Permite la salida del mensaje. Si el búfer se establece en NULL, representa un tamaño ilimitado del búfer. |
3 | DBMS_OUTPUT.GET_LINE (línea OUT VARCHAR, estado OUT NUMBER) | Obtiene una información almacenada en búfer dentro de una sola línea. |
4 | DBMS_OUTPUT.NEW_LINE | Termina un marcador de fin de línea. |
5 | DBMS_OUTPUT.PUT (elemento EN VARCHAR) | Pone una línea incompleta en el búfer. |
6 | DBMS_OUTPUT.PUT_LINE (elemento EN VARCHAR) | Pone una línea completa en el búfer. |
Implementación de código:
|_+_|La salida del código anterior:
Preguntas y respuestas frecuentes
P # 1) ¿Qué es el paquete en PL SQL?
Responder: Un paquete es un esquema de objeto que clasifica variables, constantes, cursores, subprogramas y tipos relacionados lógicamente.
P # 2) ¿Cuáles son los beneficios de los paquetes PL SQL?
Respuesta: Los beneficios del paquete se enumeran a continuación:
- Con los paquetes, es fácil diseñar aplicaciones.
- Con los paquetes, podemos lograr la encapsulación.
- Los paquetes ayudan a obtener un mejor rendimiento en términos de velocidad de ejecución.
- El código se vuelve más modular con los paquetes.
P # 3) ¿Podemos crear un cuerpo de paquete sin especificación?
Responder: Sí, podemos crear un cuerpo de paquete sin especificación de paquete.
P # 4) ¿Qué es Dbms_output Put_line en PL SQL?
Responder: El dbms_output put_line es un procedimiento en Oracle que nos permite escribir información en un archivo plano o en la pantalla de salida PL / SQL.
P # 5) ¿Qué es Dbms_output?
Responder: El dbms_output es un paquete predeterminado que nos permite mostrar información de depuración, salida y enviar mensajes desde los subprogramas, disparadores, paquetes y bloque de código PL / SQL.
ejemplos de consultas sql con respuestas pdf
Conclusión
En este tutorial, hemos discutido en detalle algunos conceptos básicos sobre los Paquetes PL SQL que son esenciales para usarlos en aplicaciones reales.
Hemos cubierto los siguientes temas que se enumeran a continuación:
- Paquetes y su estructura.
- Diferentes características de los paquetes.
- Salida DBMS.
- Subprogramas del paquete DBMS_OUTPUT.
<< PREV Tutorial | SIGUIENTE Tutorial >>
Lectura recomendada
- Tutorial PL SQL para principiantes con ejemplos | ¿Qué es PL / SQL?
- Tutorial de registros PL SQL con ejemplos
- Cursor y cadenas de PL SQL: tutorial con ejemplos de código
- Tutorial de Python DateTime con ejemplos
- Desarrollo de aplicaciones de base de datos Oracle: Oracle SQL y PL / SQL
- Principales preguntas de la entrevista de Oracle: preguntas de Oracle Basic, SQL, PL / SQL
- Diferencia entre SQL Vs MySQL Vs SQL Server (con ejemplos)
- Principales preguntas de la entrevista sobre formularios e informes de Oracle