Clase 3 - PLSQL - DML - CURSOSR PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 20

Administración Avanzada de Base de datos

Oracle
Semana 3
Agenda

• Creando sentencias SQL en PL/SQL.


• Manipular sentencias SQL.
• SQL Cursor.
Esquema de trabajo
Esquema Human Resource (HR)
Sentencias SQL en PL/SQL

• Recupera una fila de la base de datos usando el comando SELECT.


• Hace cambios en las filas en la base de datos usando comandos DML.
• Controla una transacción con el COMMIT, ROLLBACK o SAVEPOINT.

• PL/SQL no soporta directamente sentencia de data definition language


(DDL) tales como CREATE TABLE, ALTER TABLE o DROP TABLE. Tu
puedes usar SQL dinámico para ejecutar sentencias DDL en PL/SQL.
• PL/SQL no soporta directamente sentencias data control language
(DCL), tales como GRANT o REVOKE. Tu puedes usar SQL dinámico
para ejecutar sentencias DDL en PL/SQL.
Sentencias SQL en PL/SQL

• Recupera datos desde la base de datos con la sentencia SELECT


Sentencias SQL en PL/SQL

• La clausula INTO es requerido.


• Las consultas deben retornar una fila.
Sentencias SQL en PL/SQL

• Se debe especificar una variable para cada ítem seleccionado y el


orden de las variables debe corresponder con los ítems seleccionados.
• Una consulta que retorna más de una fila o ninguna genera error.
• PL/SQL gestiona estos errores generando una excepción estándar, que
se puede manejar en la sección de excepción de el bloque con las
excepciones NO_DATA_FOUND y TOO_MANY_ROWS.

• Si el requerimiento es recuperar multiples filas y operar la data, puedes


usar cursores explícitamente.
Sentencias SQL en PL/SQL

Recupera hire_date y salary de un especifico empleado


Sentencias SQL en PL/SQL
Retorna la suma de salarios de todos los empleados de un específico departamento.
EJERCICIO

Realizar un programa que permita ingresar un job_id (tabla JOBS)

Y muestre como mensaje el título del Job (job_title) y la cantidad de


empleados con ese trabajo de la siguiente forma:

“El trabajo JOB_TITLE tiene 50 empleados”.


Ambigüedad de Nombres
Los nombres de las columnas de la base de datos toman prioridad sobre el
nombre de las variables locales.
Sentencias PL/SQL para manipular data

Hacer cambios a la tabla de base de datos usando comandos DML:

• INSERT

• UPDATE

• DELETE

• MERGE
Sentencias PL/SQL para manipular data

INSERT

Ejemplo: Agregar nuevo empleado a la tabla EMPLOYEE


Sentencias PL/SQL para manipular data

UPDATE

Ejemplo: Actualiza el salario de todos los empleados quienes son stock


clerks.
Sentencias PL/SQL para manipular data

DELETE

Ejemplo: Elimina filas que pertenece al departamento 10 de la tabla


employees
SQL Cursor
Un cursor es un puntero a el private memory area asignada por Oracle Server.
Este es usado para gestionar un conjunto de resultados de una sentencia SQL.

Hay 2 tipos de cursores:


• Implícito: Creado y gestionado internamente por Oracle Server para
procesar sentencias SQL.
• Explicito: Declarado explícitamente por el programador.
SQL Cursor
El Oracle Server asigna un private memory area llamado context area para
procesar sentencia SQL.

La sentencia SQL es parsed y procesada en esta área. La información


requerida para procesar y recuperar la información despues de procesar es
almacenada en esta área. No se tiene control sobre esta área porque es
gestionada por Oracle Server.
SQL Cursor
Usando atributos del cursor puedes testear las salidas de tu sentencia SQL.
Estos atributos pueden ser usados en PL/SQL pero no en SQL.
SQL Cursor
Ejemplo: Elimina filas que tienen un específico employee ID de la tabla
employee. Imprimir el número de filas eliminadas
Quiz

When using the SELECT statement in PL/SQL, the INTO clause is


required and queries can return one or more row.
1. True
2. False

También podría gustarte