0% encontró este documento útil (0 votos)
66 vistas41 páginas

Guía Avanzada de PL/SQL en Oracle

Este documento proporciona una introducción a PL/SQL, incluyendo estructuras de bloque, tipos de bloque, declaración de variables, tipos de variables como escalares, LOB, composites y bind. También cubre temas como el atributo %TYPE, convenciones de nombres, y cómo habilitar la salida de un bloque PL/SQL.

Cargado por

osacr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
66 vistas41 páginas

Guía Avanzada de PL/SQL en Oracle

Este documento proporciona una introducción a PL/SQL, incluyendo estructuras de bloque, tipos de bloque, declaración de variables, tipos de variables como escalares, LOB, composites y bind. También cubre temas como el atributo %TYPE, convenciones de nombres, y cómo habilitar la salida de un bloque PL/SQL.

Cargado por

osacr
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Administración Avanzada de Base de

Datos Oracle
Agenda

• Introducción a PL/SQL
• Estructuras de Bloque PL/SQL
• Tipos de Bloque
• Declaración de variables en PL/SQL
• Tipos de variables
• Atributo %TYPE
Oracle SQL Developer

• Oracle SQL Developer es una herramienta


gráfica que mejora la productividad y
simplifica las tareas de desarrollo.
• Puedes conectarte al esquema de la base
de datos Oracle usando estándar
autenticación base de datos Oracle.
Codificamos PL/SQL en SQL*PLUS
Codificamos PL/SQL en SQL*PLUS
• Para ejecutar el paquete DBMS_OUTPUT para
imprimir texto en la pantalla. Primero se debe
ejecutar el comando SET SERVEROOUTPUT ON
en la sesión.
PL/SQL
• Procedural Language extension to SQL
• Perfectamente integrada con construcción procesal con SQL.

• Provee una estructura de bloque para ejecutar código.


• El mantenimiento es más fácil con una estructura bien definida.
PL/SQL
Structured Query Language (SQL) es el primer lenguaje usado para acceder y
modificar data en base de datos relacional.
Si tu quieres alterar cualquier data que es recuperada de manera condicional, tu
encontraras las limitaciones de SQL.

PL/SQL provee construcción procesal como:


• Variables, constantes y tipos de datos.
• Estructuras de control como sentencias condicional y loops.
• Programas reusables que son escritos una vez y ejecutados varias veces.
PL/SQL
PL/SQL
• El bloque PL/SQL es ejecutado por el motor PL/SQL.

• El motor PL/SQL reside en:


– La base de datos Oracle
– El cliente Oracle Forms
– Servidor de aplicaciones Oracle
PL/SQL
• El ambiente SQL puede invocar el ambiente PL/SQL. El ambiente PL/SQL es
invocado cuando una función PL/SQL es usado en una sentencia SQL.

• El motor PL/SQL es una máquina virtual que reside en memoria y procesa el


código PL/SQL.
Beneficios del PL/SQL
• Desarrollo de programas modularizados
• Integración de herramientas Oracle
• Portabilidad
• Manejo de Errores
Estructura Bloque PL/SQL
DECLARE (opcional)
Variables, cursores, Excepciones definidas por el usuario

BEGIN (obligatorio)
Sentencias SQL
Sentencias PL/SQL

EXCEPCION (opcional)
Acción a realizar cuando ocurre una excepción

END; (obligatorio)
Tipos de Bloques
Tipos de Bloques
Un programa PL/SQL comprende de uno o más bloques. Estos
bloques pueden ser anidados dentro de otro bloque.

Procedures: Son objetos que contienen sentencias SQL y


PL/SQL

Funciones: Retorna un valor de un específico dato.

Bloques Anónimos: Son bloques sin nombre, son compilados


cada vez que la aplicación es ejecutada. No son almacenados
en la base de datos.

Si tu quieres ejecutar el mismo bloque, tienes que reescribir el


bloque.
Bloque Anónimo
Habilitando la salida de un Bloque PL/SQL
1. Para habilitar la salida en SQL Developer, ejecutamos el siguiente
comando antes de ejecutar el bloque PL/SQL.

2. Usa un paquete Oracle predefinido y el procedimiento en el bloque


PL/SQL.
Ver la salida de un bloque PL/SQL
Variables
Variables puede ser usado para:
– Almacenamiento temporal de la data.
– Manipulación de valores almacenados.
– Reusabilidad.
Variables
Un nombre de variable:
– Debe comenzar con una letra
– Puede incluir letras o números
– Puede incluir especial caracteres ( $, _, #)
– No debe contener más 30 caracteres
– No debe incluir palabras reservadas
Variables
Variables son:
– Declaradas e inicializadas en el declarative section.
– Usadas para asignar nuevos valores en el tiempo de
ejecución.
– Pasadas como parámetros a subprogramas PL/SQL.
– Usadas para sostener salidas de un subprograma PL/SQL .
Variables
Declaración de Variables
Variables
Declaración e inicialización de Variables
Tipos de Variables
Cada variable PL/SQL tiene un tipo de dato, que especifica un formato de
almacenamiento, restricciones y un valido rango de valores.

PL/SQL variables:
• Scalar: Sostiene un solo valor.
• Reference: mantiene datos llamados “pointers”, que apunta a
localización de almacenamiento.
• Large Object (LOB): mantiene valores llamados “locators”, que especifica
la localización de LOB (imágenes) que son almacenados fuera de la tabla.
• Composite: disponibles para usar colecciones y variables records.

Variables no PL/SQL: variables Bind.


Directrices para declarar e inicializar variables
PL/SQL
• Usar identificadores significativos para variables
• Inicializa variables que son diseñados como NOT NULL y CONSTANT.
• Inicializa variables con la asignación de operador (:=) o el DEFAULT
keyword.

• Declara un identificador por línea para una mejor lectura y


mantenimiento del código.
Directrices para declarar e inicializar variables
PL/SQL
• Evitar usar nombre de columnas como identificadores.

• Usar el NOT NULL contraint cuando la variable debe sostener un valor.


Convención de nombres de variables
Tipos de Variables: Scalar

• Mantiene un sólo valor.


• No tiene componentes internos.
Tipos de Variables: Scalar

Tipo de dato
Tipos de Variables: Scalar

Declarando variables Scalars


Atributo %TYPE
Es usado para declarar una variable de acuerdo a:
• Una definición de columna de base de datos.
• Otra variable declarada.

Tiene el prefijo de:


• La tabla de base datos y nombre de columna.
• El nombre de la variable declarada.

Beneficios
• Evitas errores causados por tipos que no coinciden o errores de precisión.
• Evitas codificar en duro el tipo de una variable.
• No necesitas cambiar la declaración de la variable, si la definición de la
columna cambia.
Atributo %TYPE

Sintaxis

Ejemplo
Tipos de Variables: LOB

LOBs almacenan una gran cantidad de datos. Una columna de la


base de datos puede ser de tipo LOB.
Tipos de Variables: LOB

Los tipo de dato LOB puedes almacenar data no estructurada de hasta 128
terabytes tales como texto, imágenes, video, entre otros.

• El character large object (CLOB): Almacena grandes caracteres de datos


en la base de datos.
• El binary large object (BLOB): Almacena objetos binarios estructurados y
no estructurados en la base de datos. Una aplicación externa que usa
esta data debe interpretar esta data.
• El binary file (BFILE): Almacena large binary file. A diferencia de los
LOBs, BFILE son almacenados fuera de la base de datos. Sólo un puntero
a el BFILE es almacenado en la base de datos.
• El national language character large object (NCLOB): Almacena grandes
bloques de un solo byte, multibbyte NCHAR data unicode.
Tipos de Variables: Composite
Tipo de dato Records y Collections -- T_REC
Tipos de Variables: Composite
Ejemplo Record
Tipos de Variables: Composite
Tipo de dato Records y Collections tiene componentes internos que puedes
tratar como variables individuales.

En un PL/SQL record, los componentes internos pueden tener diferentes


tipos de datos y son llamados campos.
Para acceder a cada campo es: record_name.field_name.
Una variable record puede mantener filas de una tabla. Cada campo del
record corresponde a una columna de tabla.

Un PL/SQL collection, los componentes internos son siempre del mismo


tipo de dato y son llamados elementos. Listas y arrays son clásicos ejemplos
de colecciones.
Tipos de Variables: Composite
Tipo de dato Records y Collections tiene componentes internos que puedes
tratar como variables individuales.

En un PL/SQL record, los componentes internos pueden tener diferentes


tipos de datos y son llamados campos.
Para acceder a cada campo es: record_name.field_name.
Una variable record puede mantener filas de una tabla. Cada campo del
record corresponde a una columna de tabla.

Un PL/SQL collection, los componentes internos son siempre del mismo


tipo de dato y son llamados elementos. Listas y arrays son clásicos ejemplos
de colecciones.
Tipos de Variables: Bind

• Son creadas en el ambiente, también llamadas variables host.


• Son creadas con el keyword VARIABLE.
• Son usadas en sentencias SQL y PL/SQL.
• Son accesibles incluso después de que el bloque PL/SQL es ejecutado.

• Los valores pueden ser vistos usando el comando PRINT.

• La variable bind no es una variable global.


Tipos de Variables: Bind
Si creas una variable bind de tipo NUMBER, no se puede especificar la
precisión y escala. Pero para los string si puedes especificar el tamaño.
Tipos de Variables: Bind
Tipos de Variables: Bind
Usando AUTOPRINT con variables Bind

También podría gustarte