plsql怎么往cursor 里传参数
时间: 2024-10-04 16:01:37 浏览: 6
在Oracle PL/SQL中,当你需要向游标(Cursor)传递参数时,通常是在存储过程或者函数内部,通过定义一个带参数的过程或函数来获取数据,然后对游标进行操作。这里是一个简单的例子:
```sql
CREATE OR REPLACE PROCEDURE fetch_customers(p_customer_name VARCHAR2) IS
CURSOR customer_cursor IS
SELECT * FROM customers WHERE name = p_customer_name;
BEGIN
OPEN customer_cursor;
-- 循环遍历游标并处理每一条数据
LOOP
FETCH customer_cursor INTO customer_details;
EXIT WHEN customer_cursor%NOTFOUND; -- 当游标为空时退出循环
-- 对customer_details变量做进一步处理
DBMS_OUTPUT.PUT_LINE('Customer Name: ' || customer_details.name);
END LOOP;
CLOSE customer_cursor; -- 关闭游标
END;
/
```
在这个例子中,`p_customer_name`就是我们传递给游标的参数,它用于指定查询条件。在`OPEN`语句后,你可以像处理普通游标那样处理这个带参数的游标。