plsql 怎么把查询出来的结果放在list 里
时间: 2024-10-10 10:01:54 浏览: 70
在Oracle PL/SQL中,将查询的结果放到列表(List)里通常涉及到使用动态SQL、游标或集合类型(如表类型)。这里我们以最常见的游标为例来说明:
1. 使用`CURSOR`和`LOOP`循环:
```sql
DECLARE
cursor_name CURSOR FOR SELECT * FROM your_table;
record your_table%ROWTYPE; -- 定义记录变量
BEGIN
OPEN cursor_name;
LOOP
FETCH cursor_name INTO record;
EXIT WHEN cursor_name%NOTFOUND; -- 当无更多数据时退出
-- 将每一行插入到列表中,这里假设你有一个叫做your_list的LIST类型变量
your_list.extend(); -- 扩展列表长度
your_list(your_list.COUNT) := record; -- 或者直接赋值给对应索引位置
END LOOP;
CLOSE cursor_name;
END;
/
```
2. 如果你的数据库版本支持PL/SQL的匿名块和集合类型,可以考虑使用`BULK COLLECT`:
```sql
DECLARE
your_table_type TABLE OF your_table%ROWTYPE;
BEGIN
SELECT * BULK COLLECT INTO your_table_type FROM your_table;
-- 现在你可以遍历your_table_type,例如:
FOR i IN your_table_type.FIRST..your_table_type.LAST LOOP
DBMS_OUTPUT.PUT_LINE(your_table_type(i).column_name);
END LOOP;
END;
/
```
记得替换`your_table`和`column_name`为实际的表名和字段名。
阅读全文