Oracle PL /SQL es un lenguaje procedimental que es una extensión de SQL , o el lenguaje de consulta estructurado. Utilice el PL /SQL para obtener los resultados deseados cuando el DML estándar o de manipulación de datos Lengua o sentencias de selección no se puede. Los procedimientos , funciones , disparadores y paquetes de cuatro tipos distintos de objetos almacenados o programas almacenados , escritas en PL /SQL. Usted debe entender el concepto de la creación y el mantenimiento de los objetos almacenados PL /SQL para optimizar el rendimiento y el tiempo de programación . En este artículo, el foco está en un procedimiento y una función . Instrucciones
1
Conectar a Oracle SQL * Plus haciendo clic en " Inicio", " Todos los programas " y " SQLPlus . "
2
Introduzca su nombre de usuario y contraseña, luego haga clic en "OK ". en el cuadro de diálogo * Plus de Oracle SQL .
3
Crear un procedimiento. Un procedimiento se compila y se almacena en el diccionario de datos de una vez . Almacenar sólo una copia del procedimiento cumplido reduce el tráfico de red cuando más de un usuario tiene que llamar. En el indicador de SQL , introduzca el código.
SQL >
"CREATE OR REPLACE update_product_price PROCEDIMIENTO (
p_product_id EN products.product_id % TYPE ,
p_factor eN nÚMERO
)
AS
v_product_count INTEGER ;
COMENZAR
- contar el número de productos con la etiqueta < br >
- suministrado product_id )
SELECT COUNT ( * )
EN v_product_count
DE SU
DONDE product_id = p_product_id ;
- si el producto existe ( v_product_count = 1 ), entonces
- Actualización ese precio
de producto IF v_product_count = 1
productos aCTUALIZACIÓN lUEGO
< p> precio SET = precio * p_factor
DONDE product_id = p_product_id ;
COMMIT ;
END IF;
EXCEPCIÓN
CUANDO OTROS ENTONCES
ROLLBACK ;
FIN update_product_price ;
/"
Después del procedimiento se compila , se mostrará " Procedimiento creado "
< . p> Nota : Para ejecutar con éxito y llame a este procedimiento, una tabla de productos debe existir en la base de datos Oracle con los datos almacenados
Utilizando el comando "SELECT " y "dónde " de comandos para consultar el precio del producto # 1 . por lo que se puede hacer una comparación después de la llamada al procedimiento. En el indicador de SQL , introduzca el código
SQL >
"SELECT product_id , product_type_id , nombre, descripción , precio desde productos
DONDE product_id = 1 ; " . < Br >
los resultados mostrarán la totalidad del expediente , pero aparece a continuación es sólo la columna de precios para el producto que se etiqueta como product_id = 1 .
pRECIO
------- - Opiniones
19.95
Llame al update_product_price procedimiento. En el indicador de SQL , introduzca el código
SQL >
"CALL update_product_price ( 1 , 1,5 ) ; " . .
Llamada completada
El resultado muestra que la llamada realizada y el precio de produt_id se actualiza cuando se utiliza el SELECT y WHERE comandos en el indicador SQL
SQL > Seleccione el precio de los productos de DONDE product_id = 1 , .
pRECIO < br >
----------
29.93
4
Crear una función. Cuando se llama a una función de una declaración, que debe devolver un valor . Además, para las muchas funciones entregadas fuera de la caja con la base de datos Oracle 10g , los desarrolladores crear sus propias funciones para aumentar el impacto en el rendimiento . En el indicador de SQL , introduzca el código.
SQL >
"CREATE OR REPLACE average_product_price FUNCIÓN (
p_product_type_id EN INTEGER
) NÚMERO DE VUELTA < br >
AS
NÚMERO v_average_product_price ;
COMENZAR
SELECT AVG ( precio)
EN v_average_product_price
DE SU < br >
DONDE product_type_id = p_product_type_id ;
v_average_product_price RETURN ;
FIN average_product_price ; .
/"
Función creado
el resultado muestra la función de creación y luego la llamada a la average_product_price mediante la instrucción SELECT de la tabla dual. En el indicador de SQL , introduzca el código
SQL >
"SELECT average_product_price ( 1 )
de la doble; " .
AVERAGE_PRODUCT_PRICE ( 1 )
------------------------
29.93
< br >