Sesion06c - Sentencias SQL en PL-SQL (Oracle)

1,052 views

Published on

Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases.


UNIDAD 4. Programación en Oracle
Logro de la Unidad de Aprendizaje
Al término de la unidad, el alumno construye programas estructurados utilizando el lenguaje PL/SQL dentro del manejador de base de datos Oracle. Incorpora cursores para procesar grandes volúmenes de información y gestiona los posibles errores de ejecución con el uso de excepciones.
Temario
4.1 Tema 6: PROGRAMACIÓN PL/SQL
4.1.1 Introducción a Oracle PL/SQL
4.1.2 Tipos de datos en PL/SQL
4.1.3 Estructuras de Bloques de PL/SQL
4.1.4 Sentencias SQL en PL/SQL

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,052
On SlideShare
0
From Embeds
0
Number of Embeds
195
Actions
Shares
0
Downloads
62
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sesion06c - Sentencias SQL en PL-SQL (Oracle)

  1. 1. /* Sesión06 – Sentencias SQL y PL/SQL Estudiante: José Luis Toro Alcarraz Curso: Base de Datos Avanzado II Correo:i201010865@cibertec.edu.pe */ Objetivos de la sesión. Acceder a datos desde un bloque Oracle utilizando SQL. Usar adecuadamente el control de transacciones. 1) Instrucciones DML en PL/SQL. 2) Control de Transacciones. 1) Instrucciones DML en PL/SQL. a) Instrucción SELECT. Extrae datos de la base de datos y los almacena en variables PL/SQL. La consulta debe devolver siempre un solo registro. La forma general de una instrucción SELECT es : SELECT lista_seleccion INTO lista_variables ó registro_PL/SQL FROM referencia_tabla WHERE claúsula_where; lista_selección: Lista de columnas que se desea seleccionar. lista_variables: Variables PL/SQL donde se almacenarán los elementos de la lista de selección. registro_PL/SQL: Está compuesto por campos que correspondan con la lista de selección. referencia_tablas: Identifica la tabla o las tablas de donde se extraerán los datos. claúsula_where: Criterios para la selección de registros. b) Instrucción INSERT. Inserta un registro en una tabla. La forma general de una instrucción INSERT es : INSERT INTO tabla [ ( lista_columnas ) ] VALUES lista_valores ó sentencia_select; tabla: Nombre de la tabla donde se desea insertar el nuevo registro. lista_columnas: Listado de columnas del registro que se insertará. lista_valores: Valores que se insertarán en la columnas indicadas en la lista. sentencia_select: Subconsulta que devuelve registros a insertarse en la tabla.
  2. 2. Ejemplo: SQL> DECLARE V_DEPTNO DEPT.DEPTNO%TYPE; BEGIN SELECT SEQ_DEPT.NEXTVAL INTO V_DEPTNO FROM DUAL; -- añade una fila a la tabla dept INSERT INTO DEPT (DEPTNO,DNAME,LOC) VALUES (V_DEPTNO,'SISTEMAS','LIMA'); -- añade una segunda fila usando directamente el numero de secuencia INSERT INTO DEPT (DEPTNO,DNAME,LOC) VALUES (SEQ_DEPT.NEXTVAL,'HELP DESK','LIMA'); END; / c) Instrucción UPDATE. Actualiza registros de una tabla. La forma general de una instrucción UPDATE es : UPDATE tabla SET nombre_columna = valor [, nombre_columna2 = valor2 … ] WHERE cláusula_where; tabla : Nombre de la tabla que se desea actualizar. nombre_columna : Nombre de la columna a actualizar. valor : Valor a actualizar en la columna. claúsula_where : Criterios para la selección de registros. Ejemplo: SQL> DECLARE V_INCREMENTO NUMBER(6):=1500; BEGIN -- aumentamos el salario a todos los empleados -- del departamento con código 20 UPDATE EMP SET SAL = SAL + V_INCREMENTO WHERE DEPTNO = 20; END; / d) Instrucción DELETE.
  3. 3. Elimina registros de una tabla. La forma general de una instrucción DELETE es: DELETE FROM tabla WHERE cláusula_where; tabla : Nombre de la tabla de la cual se van a eliminar registros. claúsula_where : Criterios para la selección de registros. Ejemplo: SQL> BEGIN -- borramos ordenes antiguas DELETE FROM ORD WHERE SHIPDATE < TO_DATE('01.06.1986','DD.MM.YYYY') END; / 2) Control de Transacciones. a) Transacción. Una transacción es una serie de instrucciones SQL que se completan o fallan como unidad (Mantener la integridad de los datos (Consistencia)). Son un componente estándar de la base de datos, y sirven para evitar la inconsistencia de los datos. La transacción termina con las instrucciones COMMIT o ROLLBACK. b) Commit. Cuando se ejecuta una instrucción COMMIT se termina la transacción. Se hace permanente todo el trabajo realizado por la transacción. Otras sesiones pueden ver los cambios realizados por esta transacción. Se liberan todos los bloqueos establecidos por la transacción. Ejemplo: SQL> DECLARE V_DEPTNO DEPT.DEPTNO%TYPE; BEGIN SELECT SEQ_DEPT.NEXTVAL INTO V_DEPTNO FROM DUAL; -- añade una fila a la tabla dept
  4. 4. INSERT INTO DEPT (DEPTNO,DNAME,LOC) VALUES (V_DEPTNO,'SISTEMAS','LIMA'); -- añade una segunda fila usando directamente el numero de secuencia INSERT INTO DEPT (DEPTNO,DNAME,LOC) VALUES (SEQ_DEPT.NEXTVAL,'HELP DESK','LIMA'); COMMIT; END; / c) Rollback. Cuando se ejecuta una instrucción ROLLBACK se termina la transacción. Se deshace todo el trabajo realizado por la transacción, como si no se hubieran ejecutado las instrucciones correspondientes. Se liberan todos los bloqueos establecidos por la transacción. Ejemplo: SQL> DECLARE V_DEPTNO DEPT.DEPTNO%TYPE; BEGIN SELECT SEQ_DEPT.NEXTVAL INTO V_DEPTNO FROM DUAL; -- añade una fila a la tabla dept INSERT INTO DEPT (DEPTNO,DNAME,LOC) VALUES (V_DEPTNO,'SISTEMAS','LIMA'); -- añade una segunda fila usando directamente el numero de secuencia INSERT INTO DEPT (DEPTNO,DNAME,LOC) VALUES (SEQ_DEPT.CURRVAL,'HELP DESK','LIMA'); COMMIT; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('HUBO UN ERROR EN EL PROGRAMA.'); ROLLBACK; END; /

×