Sunteți pe pagina 1din 4

Crear un usuario de la base de datos

 Conectarse con como administrador con el siguiente comando:


“connect as sysdba”
 Ejecutar la siguiente sentencia:
“créate user nombre_usuario identified by contraseña”
 Conceder los privilegios :
“grant all privileges to nombre_usuario”
 Conceder espacio ilimitado para la creación de tablas:
“grant unlimited tablespace to nombre_usuario”
Bloque. Unidad básica de todo programa en PL/SQL. Todo programa tiene al
menos un bloque.
Consta de sección declarativa (optativa), sección de ejecución obligatoria y una
sección de control de errores optativa
Sintaxis
[Declare]
<sección declarativas>
BEGIN
<sección de ejecución>
[EXCEPTION]
<sección de control de errores>
END;
Sección declarativa. Se definen variables, constantes y cursores que se utilizaran
en la sección de ejecución.
Sección de ejecución. Toda instrucción select (no dinámica), deberá llevar
incorporado el parámetro into
SELECT columnas INTO variables FROM nombre_tabla WHERE criterio
Se admiten instrucciones de sql de tipo dml o instrucciones de sql dinámicos, el
resto no están permitidas implementarlas directamente (alter,créate,drop, etc),
salvo que se indique dentro de la instrucción EXECUTE INMEDIATE.
Sección de control de errores. Definen los controles para detectar los errores de
ejecución y la solución adoptadas para los mismos.
Tipos de bloque.
Bloques anónimos. Se construyen de manera dinámica y se ejecutan una sola
vez.
Bloques nominados. Se construyen identificándolos con nombre.
Subprogramas. Bloques nominados que se almacenan en la BD, como
procedimientos almacenados, paquetes y funciones. Siempre se ejecutan bajo
demanda.
Disparadores. Son bloques nominados que se almacenan en la BD, pero no se
pueden ejecutar bajo petición de un programa. Se ejecutan cuando tiene el efecto
el suceso para el que se han programado contra una cierta tabla del sistema.

Salida por pantalla de los resultados de una ejecución. Hay que utilizar la
invocación de un paquete incluido en Oracle pl/sql denominado DBMS_OUTPUT,
el cual permite dirigir a pantalla los resultados mediante el uso de la función
PUT_LINE
Antes hay que activar el comando DBMS_OUTPUT, siempre que se inicie una
nueva sesión.
SET SERVEROUTPUT ON;

Sintaxis para la petición por pantalla asociado a una variable númerica


<variable> := &texto_a_mostrar
Sintaxis para la petición de una variable de texto
<variable> := ‘&texto_a_mostrar’
Estructuras de control
Permiten controlar el comportamiento del bloque a medida que este se ejecuta.
Se tienen las siguientes estructuras de control.

 IF-THEN-ELSE-END IF
 CASE… WHEN … END CASE
 LOOP… END LOOP
 FOR … LOOP … END LOOP
 GOTO
 NULL
Sintaxis IF-THEN-ELSE-END IF
IF<expresión booleana> THEN
<operaciones1>;
[ELSIF <expresión booleana> THEN
<operaciones2>;]
[ELSE
<operaciones3>;]
END IF;
Sintaxis case. Permite evaluar múltiples opciones booleanas. También permite
anidamiento
Case <variable_a_comprobar>
when <valor_comparacion> THEN <operaciones>;
when <valor_comparación> THEN <operaciones2>;
[ELSE <operaciones si no cumplen las otras>]; END case;
Cuando no se especifica else en el case lanza una excepción ELSE RAISE
CASE_NOT_FOUND implícitamente. Hay que tener en cuenta esta excepción en
el control de errores del programa.
LOOP… END LOOP
Bucle repetitivo de ejecución indefinida con terminación mediante una evaluación
de una condición, o mediante la salida directa (EXIT).
Sintaxis
LOOP
<secuencia de ordenes>
[EXIT [WHEN CONDICIÓN]];
END LOOP;

WHILE… LOOP… END… LOOP


Bucle repetitivo donde la evaluación se produce antes de ejecutar cada iteración
del código a ejecutarse
WHILE <condición> LOOP
<secuencia de órdenes>
END LOOP;
En cualquier bucle se puede forzar la salida con la instrucción exit.
BUCLE FOR… LOOP… END LOOP
Bucle repetitivo de ejecución con número determinado de ejecuciones
determinado por un contador
SINTAXIS
FOR <contador> IN [REVERSE] <LF>… <LS>
LOOP
<secuencias>
END LOOP;
Unidades léxicas.
 Identificadores
 Palabras reservadas
 Delimitadores
 Literales
o Booleanos: TRUE, FALSE, NULL
o Numéricos: 123,7,12,0
o Carácter : ‘123’, ‘Hola’
 Tipos de datos
o Escalares
o Compuestos
o Puntero
o LOB
Tipos escalares. Se componen a partir de al menos un tipo escalar, y se
distinguen los siguientes tipos:
 RECORD
 TABLE
 VARRAY
Tipos punteros. Se utilizan para referenciar cursores en memoria o tipos objetos y
se distinguen los siguientes tipos.
 REF CURSOR
 REF TIPO DE OBJETO

S-ar putea să vă placă și