Este es otro espacio para el intercambio de ideas y estudio.
Espero que les sirva para aprender.
sábado, 15 de septiembre de 2007
La estructura general es:
[DECLARE
variables, constantes, excepciones de usuario...]
BEGIN
órdenes SQL
órdenes PL/SQL
[EXCEPTION
acciones a realizar al ocurrir un error]
END;
/
NOTA:
Para ejecutar un bloque PL/SQL siempre hay que colocar al final la barra /.
Podemos crear diferentes tipos de bloques:
• Bloques anónimos: Se construyen de forma dinámica y se suelen ejecutar una sola
vez.
• Bloques nominados: Igual que los anónimos pero con una etiqueta que les da
nombre.
• Subprogramas: Procedimientos, paquetes y funciones, almacenados en la base de
datos y que se ejecutan en múltiples ocasiones. Los subprogramas se ejecutarán
mediante una llamada.
• Disparadores (“Triggers”): Bloques nominados que se almacenan en la base devariables, constantes, excepciones de usuario...]
BEGIN
órdenes SQL
órdenes PL/SQL
[EXCEPTION
acciones a realizar al ocurrir un error]
END;
/
NOTA:
Para ejecutar un bloque PL/SQL siempre hay que colocar al final la barra /.
Podemos crear diferentes tipos de bloques:
• Bloques anónimos: Se construyen de forma dinámica y se suelen ejecutar una sola
vez.
• Bloques nominados: Igual que los anónimos pero con una etiqueta que les da
nombre.
• Subprogramas: Procedimientos, paquetes y funciones, almacenados en la base de
datos y que se ejecutan en múltiples ocasiones. Los subprogramas se ejecutarán
mediante una llamada.
datos y que se ejecutan ante algún suceso.
Variables
Las variables se definen en la sección declarativa de los bloques PL/SQL dónde también
pueden inicializarse.
La asignación de nuevos valores a las variables puede hacerse en la parte ejecutable del
bloque.
Pueden utilizarse para pasar valores como argumentos a subprogramas. Estas podrán ser
de tipo IN (variable de entrada, OUT, variable de salida o INOUT, variable de
entrada/salida).
También podrán utilizarse para almacenar valores devueltos o requeridos por una orden
SQL.
Todas las variables tienen un tipo. Los posibles tipos de una variable son:
• Escalar. Almacenan un valor único. Son los mismos que los de las columnas de las
tablas (VARCHAR2, NUMBER, DATE, CHAR, LONG, LONG_RAW,
BINARY_INTEGER, LAW_INTEGER) más el BOOLEAN
• Compuesto. Grupos de datos: tablas PL/SQL, registros...
• Puntero. Designan elementos de otros programas.
• LOB (Large OBjects). Almacenan gran cantidad de información. Las variables de
tipo LOB permiten almacenar datos no estructurados (imágenes, texto...) de hasta 4
GB de tamaño
pueden inicializarse.
La asignación de nuevos valores a las variables puede hacerse en la parte ejecutable del
bloque.
Pueden utilizarse para pasar valores como argumentos a subprogramas. Estas podrán ser
de tipo IN (variable de entrada, OUT, variable de salida o INOUT, variable de
entrada/salida).
También podrán utilizarse para almacenar valores devueltos o requeridos por una orden
SQL.
Todas las variables tienen un tipo. Los posibles tipos de una variable son:
• Escalar. Almacenan un valor único. Son los mismos que los de las columnas de las
tablas (VARCHAR2, NUMBER, DATE, CHAR, LONG, LONG_RAW,
BINARY_INTEGER, LAW_INTEGER) más el BOOLEAN
• Compuesto. Grupos de datos: tablas PL/SQL, registros...
• Puntero. Designan elementos de otros programas.
• LOB (Large OBjects). Almacenan gran cantidad de información. Las variables de
tipo LOB permiten almacenar datos no estructurados (imágenes, texto...) de hasta 4
GB de tamaño
Declaración de variables
Sintaxis:
[CONSTANT] [NOT NULL] [{:= DEFAULT
}];
Ejemplo:
DECLARE
fecha DATE;
dep_num NUMBER(2) NOT NULL := 10;
ciudad VARCHAR2(10) := ‘Ciudad Real’;
Km_a_milla CONSTANT NUMBER := 1.4;
NOTA:
Las variables declaradas como NOT NULL siempre deben ser inicializadas.
La inicialización puede hacerse utilizando := o la palabra reservada DEFAULT.
Si una variable no se inicializa contendrá el valor NULL.
Las constantes deben ser inicializadas.
Ejemplo:
DECLARE
fecha DATE;
dep_num NUMBER(2) NOT NULL := 10;
ciudad VARCHAR2(10) := ‘Ciudad Real’;
Km_a_milla CONSTANT NUMBER := 1.4;
NOTA:
Las variables declaradas como NOT NULL siempre deben ser inicializadas.
La inicialización puede hacerse utilizando := o la palabra reservada DEFAULT.
Si una variable no se inicializa contendrá el valor NULL.
Las constantes deben ser inicializadas.
Atributo %TYPE
El atributo %TYPE se utiliza para declarar una variable con el mismo tipo que una
columna de una tabla o que otra variable definida anteriormente.
Sintaxis:
columna de una tabla o que otra variable definida anteriormente.
Sintaxis:
/*************************************************************************/
Ejemplo:
var_nombre Empleados.nombre%TYPE;
balance NUMBER;
balance_minimo balance%TYPE := 10;
var_nombre Empleados.nombre%TYPE;
balance NUMBER;
balance_minimo balance%TYPE := 10;
Comentarios en PL/SQL
Pueden añadirse comentarios al código. Estos comentarios pueden ser especificados con:
/*comentario
más comentario */
-- comentario de línea
/*comentario
más comentario */
-- comentario de línea
Funciones PL/SQL
Las funciones utilizables en PL/SQL
(
LOWER:
UPPER:
INITCAP:
CANCAT:
SUBSTR:
LENGTH:
ROUND:
TRUNC:
MOD:
MONTHS_BETWEEN:
ADD_MONTHS:
NEXT_DAY, LAST_DAY:
TRIM:
)
excepto las de agrupamiento, ya que estas se aplican sobre una columna de una tabla.
(
LOWER:
UPPER:
INITCAP:
CANCAT:
SUBSTR:
LENGTH:
ROUND:
TRUNC:
MOD:
MONTHS_BETWEEN:
ADD_MONTHS:
NEXT_DAY, LAST_DAY:
TRIM:
)
excepto las de agrupamiento, ya que estas se aplican sobre una columna de una tabla.
Suscribirse a:
Entradas (Atom)