ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

SQL Procedural


Enviado por   •  5 de Mayo de 2013  •  802 Palabras (4 Páginas)  •  435 Visitas

Página 1 de 4

La sintaxis de un procedimiento almacenado es la siguiente:

CREATE OR REPLACE

PROCEDURE <procedure_name> (<param1> [IN|OUT|IN OUT] <type>,

<param2> [IN|OUT|IN OUT] <type>,)

IS

-- Declaracion de variables locales

BEGIN

-- Sentencias

[EXCEPTION]

-- Sentencias control de excepcion

END <procedure_name>;

Los parámetros pueden ser de entrada (IN), de salida (OUT) o de entrada salida (IN OUT). El valor por defecto es IN, y se toma ese valor en caso de que no especifiquemos nada.

CREATE OR REPLACE

PROCEDURE Actualiza_Saldo(cuenta NUMBER,

new_saldo NUMBER)

IS

-- Declaracion de variables locales

BEGIN

-- Sentencias

UPDATE SALDOS_CUENTAS

SET SALDO = new_saldo,

FX_ACTUALIZACION = SYSDATE

WHERE CO_CUENTA = cuenta;

END Actualiza_Saldo;

También podemos asignar un valor por defecto a los parámetros, utilizando la clausula DEFAULT o el operador de asiganción.

CREATE OR REPLACE

PROCEDURE Actualiza_Saldo(cuenta NUMBER,

new_saldo NUMBER DEFAULT 10 )

IS

-- Declaracion de variables locales

BEGIN

-- Sentencias

UPDATE SALDOS_CUENTAS

SET SALDO = new_saldo,

FX_ACTUALIZACION = SYSDATE

WHERE CO_CUENTA = cuenta;

END Actualiza_Saldo;

• Notación posicional: Se pasan los valores de los parámetros en el mismo orden en que el procedure los define.

BEGIN

Actualiza_Saldo(200501,2500);

COMMIT;

END;

• Notación nominal:Se pasan los valores en cualquier orden nombrando explicitamente el parámetro.

BEGIN

Actualiza_Saldo(cuenta => 200501,new_saldo => 2500);

COMMIT;

END;

La sintaxis para crear un trigger es la siguiente:

CREATE [OR REPLACE] TRIGGER <nombre_trigger>

{BEFORE|AFTER}

{DELETE|INSERT|UPDATE [OF col1, col2, ..., colN]

[OR {DELETE|INSERT|UPDATE [OF col1, col2, ..., colN]...]}

ON <nombre_tabla>

[FOR EACH ROW [WHEN (<condicion>)]]

DECLARE

-- variables locales

BEGIN

-- Sentencias

[EXCEPTION]

-- Sentencias control de excepcion

END <nombre_trigger>;

El siguiente ejemplo declara y ejecuta utiliza una funcion (fn_multiplica_x2).

DECLARE

idx NUMBER;

...

Descargar como (para miembros actualizados) txt (4 Kb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com