Oracle存储过程怎么写
时间: 2023-11-11 19:47:41 浏览: 36
Oracle 存储过程是一段预编译的 PL/SQL 代码,可以被存储在数据库中供多个应用程序使用。存储过程可以接收参数并返回结果,可以执行复杂的业务逻辑。下面是一个简单的 Oracle 存储过程示例:
```sql
CREATE OR REPLACE PROCEDURE myprocedure (in_param1 IN VARCHAR2, in_param2 IN NUMBER, out_param OUT NUMBER)
IS
BEGIN
-- 执行业务逻辑
out_param := in_param2 * 2;
END;
```
这个存储过程接收两个输入参数 `in_param1` 和 `in_param2`,以及一个输出参数 `out_param`。存储过程的主体部分可以包含任何有效的 PL/SQL 代码。在上面的示例中,存储过程简单地将输入参数 `in_param2` 的值乘以 2,并将结果赋给输出参数 `out_param`。
要调用存储过程,可以使用 `CALL` 语句:
```sql
DECLARE
result NUMBER;
BEGIN
myprocedure('hello', 10, result);
DBMS_OUTPUT.PUT_LINE(result);
END;
```
在上面的示例中,我们声明了一个变量 `result`,然后调用存储过程 `myprocedure` 并传入参数。最后,我们使用 `DBMS_OUTPUT.PUT_LINE` 输出存储过程返回的结果。
这只是一个简单的 Oracle 存储过程示例,实际上存储过程可以做更多复杂的事情,如查询数据库、更新数据、调用其他存储过程等。