6. IES Augustógriga - Ciclos Informática 2º ASI - 2007/08
Crear una tabla con claves
● Primary Key
CREATE TABLE NOMBRE_TABLA
(COL1 TIPO_DATO PRIMARY KEY
COL2 TIPO_DATO);
● Foreign Key
CREATE TABLE NOMBRE_TABLA
(COLUMNA1 TIPO_DATO
[CONSTRAINT NOMBRERESTRICCION]
REFERENCES NOMBRETABLA [(COLUMNA)] [ON DELETE
CASCADE] );
Rmonago - SGBD T ORACLE -D6
7. IES Augustógriga - Ciclos Informática 2º ASI - 2007/08
Restricciones de la tabla
● Añadir
Alter table nom_tabla Add ....
● Modificar
Alter table nom_tabla Modify ....
Rmonago - SGBD T ORACLE -D7
9. IES Augustógriga - Ciclos Informática 2º ASI - 2007/08
Introducción PL/SQL
● Bloque PL/SQL
● Función, Procedimiento
Ejemplo:
Create Or Replace Function NombreFuncion(
Parámetros ) Return TipoSalida
Is
....
Begin
...
End;
Rmonago - SGBD T ORACLE -D9
10. IES Augustógriga - Ciclos Informática 2º ASI - 2007/08
Introducción PL/SQL
● Tipos de datos y variables
– Simple: Number, varchar2, ...
– Compuestos: Record, ...
● %type
– Variables tipo columnas
● %rowtype
– Variables tipo tabla
Rmonago - SGBD T ORACLE -D10
11. IES Augustógriga - Ciclos Informática 2º ASI - 2007/08
Introducción PL/SQL
● Estructuras de control
– IF
– Case
● Bucles
– Loop
– While
– For
Rmonago - SGBD T ORACLE -D11
12. IES Augustógriga - Ciclos Informática 2º ASI - 2007/08
Introducción PL/SQL
● Registros
type tipo_registro is record (
campo1 tipo1 [not null] [:= valor1],
campo2 tipo2 [not null] [:= valor2],
...);
● %RowType
Rmonago - SGBD T ORACLE -D12
13. IES Augustógriga - Ciclos Informática 2º ASI - 2007/08
Introducción PL/SQL
● SQL en PL/SQL:
create or replace procedure Ejm1(cod
dept.deptno%type)
is
emps number;
begin
select count(*) into emps from emp
where deptno = cod;
dbms_output.put_line('Nº:' || emps);
end;
Rmonago - SGBD T ORACLE -D13
14. IES Augustógriga - Ciclos Informática 2º ASI - 2007/08
Introducción PL/SQL
● Cursores:
Rmonago - SGBD T ORACLE -D14
15. IES Augustógriga - Ciclos Informática 2º ASI - 2007/08
Introducción PL/SQL
● Expeciones:
Rmonago - SGBD T ORACLE -D15