Oracle存储过程执行sql带参数
时间: 2023-07-04 10:11:35 浏览: 148
在Oracle存储过程中,可以使用变量来存储参数,并在执行SQL语句时使用这些参数。以下是一个简单的示例,演示如何在存储过程中执行带参数的SQL语句:
```sql
CREATE OR REPLACE PROCEDURE my_proc (
p_deptno IN NUMBER,
p_sal IN NUMBER
)
IS
v_count NUMBER;
BEGIN
-- 执行带参数的 SQL 查询
SELECT COUNT(*)
INTO v_count
FROM emp
WHERE deptno = p_deptno AND sal > p_sal;
-- 输出查询结果
DBMS_OUTPUT.PUT_LINE('Number of employees: ' || v_count);
END;
```
在这个例子中,我们定义了一个存储过程 my_proc,它有两个输入参数 p_deptno 和 p_sal。在存储过程中,我们使用这些参数来执行带参数的 SQL 查询。查询结果存储在变量 v_count 中,并使用 DBMS_OUTPUT.PUT_LINE 函数输出到控制台。
要调用这个存储过程,可以使用以下语句:
```sql
EXEC my_proc(10, 3000);
```
这个语句将会执行 my_proc 存储过程,并将参数 10 和 3000 传递给它。存储过程将会查询 deptno 为 10 且 sal 大于 3000 的员工数量,并将结果输出到控制台。
阅读全文