|
Funciones en oracle
Una función es un conjunto de instrucciones
en PL/SQL, que pueden ser llamados usando el nombre
con que se le haya creado. Se diferencian de los
procedimientos, en que las funciones retornan
un valor al ambiende desde donde fueron llamadas.
La sintaxis para crear una función es
la siguiente:
CREATE [OR REPLACE] FUNCTION name [(param [IN]
datatype) . . .]
RETURN datatype
[IS|AS] pl/sql_subprogram
El uso de OR REPLACE permite sobreescribir una
función existente. Si se omite, y la función
ya existe, se producirá, un error. El unico
modificador permitido para los parámetros
es IN, y si se omite, se tomará por defecto.
Es decir, solo se permiten parámetros de
entrada.
A continuación se presenta un ejemplo
de creación de una función:
SQL> CREATE FUNCTION get_bal (acc_no IN NUMBER)
1> RETURN NUMBER
2> IS
3> acc_bal NUMBER(11,2); /* declaración
de una variable */
4> BEGIN
5> SELECT balance
6> INTO acc_bal /* asignación */
7> FROM accounts
8> WHERE account_id = acc_no;
9> RETURN(acc_bal);
10> END
La función get_bal retorna el balance
de una cuenta dada.
Si se desea eliminar (borrar) una función,
se usa la instrucción:
SQL> DROP FUNCTION name;
ir a siguiente capitulo
|