Curso Oracle PLSQL 1

Curso de SQL avanzado y PL/SQL básico para Oracle 11g Curso de SQL avanzado y PL/SQL básico para Oracle 11g Manual del

Views 264 Downloads 7 File size 212KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Curso de SQL avanzado y PL/SQL básico para Oracle 11g

Curso de SQL avanzado y PL/SQL básico para Oracle 11g

Manual del alumno

Profesor Hugo Oré J.

pág. 1

Curso de SQL avanzado y PL/SQL básico para Oracle 11g

1 Introducción al curso 1.1 Objetivo de este curso Este curso brindará al alumno el conocimiento necesario para hacer programación en PL/SQL en una base de datos Oracle 11g. Primero vamos a dar una repasadita al lenguaje SQL y ver alguna sentencias avanzadas del SQL. Luego veremos el PL/SQL.

1.2 Manual del alumno Este manual del alumno es una ayuda para el alumno, para tenga un recuerdo del curso. Este manual contiene un resumen de las materias que se van a estudiar durante el curso, pero el alumno debería de tomar notas personales para completer este manual.

1.3 Requisitos para atender a este curso Se requiere un conocimiento del lenguaje SQL.

1.5 Herramienta de desarrollo Existen muchas herramientas de desarrollo para el PL/SQL. Lo mas básico es un editor de texto y SQL plus. Las herramientas mas populares son TOAD, SQL Navigator, PL/SQL Developper, SQL Developper. SQL Developper, desarrollado por Oracle es gratis, los demás necesitan comprar una licencia. Cualquier herramienta se puede usar en el curso. Lo ideal es usar la con la cual tiene mas experiencia (y licencia), o usar SQL Developper que es gratis.

Profesor Hugo Oré J.

pág. 2

Curso de SQL avanzado y PL/SQL básico para Oracle 11g

2 DML - Sentencias de manipulación de datos 2.1 Objetivo del capítulo Al fin de este capítulo el alumno será capaz de hacer encuestas de la base de datos. No vamos a ver todas las opciones, ni las encuestas de otros objetos de la base de datos (vistas, funciones, secuencias,...) porque eso sale del cuadro de este curso de iniciación. Existen muchas opciones (top, exists, cube,...) para cada tipo de acción, pero estas opciones dependen de la base de datos utilizadas y/o de su versión. Solo vamos a ver las sentencias básicas. Existen muchos entornos que simplifican las encuestas sobre los datos

2.2 Insert

La sentencia ‘Insert’ permite de insertar datos en una tabla. INSERT INTO (,,) VALUES (,,);

También existe: INSERT INTO (,,) ;

2.3 Update La sentencia ‘Update’ permite de modificar el valor de uno o varios datos en una tabla. UPDATE SET =,=,;

De costumbre se limita el cambio a ciertos registros, mencionados utilizando una cláusula WHERE. UPDATE SET =,=, WHERE ;

2.4 Delete La sentencia ‘Delete’ permite de borrar un uno o varios registros en una tabla. DELETE FROM ;

De costumbre se limita el borrado a ciertos registros, mencionados utilizando una cláusula WHERE. DELETE FROM WHERE ;

2.5 Commit y rollback Si la base de datos permite la gestión de transacciones, se puede utilizar ‘Commit’ para confirmar una ‘Insert’, ‘Update’, o ‘Delete’, o `Rollback` para cancelarlos. Ciertas base de datos pueden ser configuradas para autocommit, que hace un commit automaticamente despues de cada instrucción, a menos que se ha iniciado una transacción de manera explicita (con 'begin transaction xxx;).

Profesor Hugo Oré J.

pág. 3

Curso de SQL avanzado y PL/SQL básico para Oracle 11g

Hasta que el ‘Commit’ está ejecutado, las modificaciones no están inscritas de manera permanente en la base de datos, y sólo son visible para la sesión en curso del usuario autor de las acciones. Después del ‘Commit’, los cambios son definitivos y visible para todos. Cuidado que ciertos objetos pueden quedar bloqueados (bloqueando otros usuarios) hasta que el commit sea hecho. El commit/rollback permite confirmar o de hacer un lote de transacción, para que si una falle, todas las anteriores se anulan también. Cuando se necesita una integridad de transacción, se utiliza en commit/rollback. Ejemplo: SELECT emp_no,job_grade FROM employee where emp_no=4; UPDATE employee set job_grade=6 where emp_no=4; SELECT emp_no,job_grade FROM employee where emp_no=4; rollback; SELECT emp_no,job_grade FROM employee where emp_no=4; UPDATE employee set job_grade=6 where emp_no=4; SELECT emp_no,job_grade FROM employee where emp_no=4; commit; SELECT emp_no,job_grade FROM employee where emp_no=4;

2.6 Savepoint Un savepoint permite identificar un punto en una transacción al cual se podrá eventualmente regresar (rollback). SELECT emp_no,job_grade FROM employee where emp_no=4; START TRANSACTION; UPDATE employee set job_grade=5 where emp_no=45; SELECT emp_no,job_grade FROM employee where emp_no=4; savepoint vale_cinco; SELECT emp_no,job_grade FROM employee where emp_no=4; UPDATE employee set job_grade=4 where emp_no=45; SELECT emp_no,job_grade FROM employee where emp_no=4; rollback to savepoint vale_cinco; SELECT emp_no,job_grade FROM employee where emp_no=4; rollback;

2.7 Select El ‘Select’ permite de seleccionar datos en la base de datos, y visualizarlos. Se puede utilizar un alias para que el campo se pueda llamar con otro nombre. SELECT ,, FROM ; SELECT as ,, FROM ;

Para seleccionar todos los campos de la tabla, se utiliza el asterisco en vez de los nombres de campo. SELECT * FROM ; Ejemplo: SELECT emp_no,job_grade as nivel FROM employee; SELECT * FROM employee;

Profesor Hugo Oré J.

pág. 4

Curso de SQL avanzado y PL/SQL básico para Oracle 11g

2.8 Where La cláusula ‘Where’ permite de limitar la encuesta a ciertos datos. Se utiliza evaluando un campo versus una condición. Se pueden utilizar varias condiciones, con el uso de ‘Or’, ‘And’, y/o paréntesis. Para compara números, se utiliza el signo '=', o '', o'=', o 'between ... and ...'. Para comparar caracteres se utiliza la palabra 'like'. El wildcard es '%'. Para compara fecha, se utiliza el signo '=', o '', o'=', o 'between ... and ...'. Para SELECT * FROM WHERE AND ; Ejemplo: SELECT emp_no,job_grade FROM employee where emp_no>45; SELECT emp_no,job_grade FROM employee where emp_no=46 or emp_no=61; SELECT * FROM employee where emp_no between 1 and 2; SELECT * FROM employee where last_name like 'P%';

Operadores SQL

2.8.1

Ya hemos visto anteriormente qué tipos de datos se pueden utilizar en Oracle. Y siempre que haya datos, habrá operaciones entre ellos, así que ahora se describirán qué operaciones y con qué operadores se realizan: Los operadores se pueden dividir en TRES conjuntos: ● Aritméticos: utilizan valores numéricos ● Lógicos (o booleanos o de comparación): utilizan valores booleanos o lógicos. ● Concatenación: para unir cadenas de caracteres. Operadores arítméticos Retornan un valor numérico: Símbo lo

Significado

Ejemplo

+

Operación suma

1+2

-

Operación resta

1-2

*

Operación multiplicación Operador división

1*2

/

1/2

Operadores lógicos Retornan un valor lógico (verdadero o falso) Símbolo

Significado

Ejemplo

=

Igualdad

1=2

!= ^=

Desigualdad

1 != 2 1 2 1 ^= 2

>

Mayor que

1>2


= 2

= x AND op 45 group by job_grade having sum(salary),