oracle存储过程写法
时间: 2023-08-08 20:00:43 浏览: 177
Oracle存储过程是一种在数据库中储存的可重复使用的程序模块,它可以接受输入参数并返回输出参数,在数据库中进行一系列的操作和逻辑判断。下面是关于Oracle存储过程的常见写法:
1. 创建存储过程语法:
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] data_type
[, parameter_name [IN | OUT | IN OUT] data_type]...)]
IS
[local_variable_declarations]
BEGIN
-- 存储过程体
-- 可执行的SQL语句和PL/SQL代码
END;
2. 参数类型:
- IN参数:存储过程体使用传入的参数,但不修改其值。
- OUT参数:存储过程体使用传入的参数,并在存储过程结束时将结果赋给该参数。
- IN OUT参数:存储过程体使用传入的参数,并可以修改其值,并在存储过程结束时将结果赋给该参数。
3. 示例:
CREATE OR REPLACE PROCEDURE calculate_total_price
(product_id IN NUMBER, quantity IN NUMBER, total_price OUT NUMBER)
IS
price_per_item NUMBER;
BEGIN
-- 获取单件产品价格
SELECT price INTO price_per_item
FROM products
WHERE id = product_id;
-- 计算总价格
total_price := price_per_item * quantity;
END;
4. 调用存储过程:
DECLARE
total_amt NUMBER;
BEGIN
-- 调用存储过程,并传递参数
calculate_total_price(1001, 5, total_amt);
-- 显示计算结果
DBMS_OUTPUT.PUT_LINE('Total Price: ' || total_amt);
END;
以上是Oracle存储过程的基本写法,可以根据具体的需求在存储过程体中编写相应的逻辑和操作。存储过程可以提高数据库的性能和重用性,减少了数据的传输和执行开销,并且可以在多个应用程序中共享使用。
阅读全文