plsql 把查询出来的结果放在record 里
时间: 2024-10-10 12:08:29 浏览: 39
在PL/SQL中,查询的结果通常会被存储在一个游标(Cursor)或集合(Collection)中,而不是直接放在Record里。不过,你可以通过将查询结果转换成行集(Rowset),然后逐行处理并插入到记录对象中。
例如,如果你有一个名为`MY_TABLE`的表,并想将其查询结果存储在自定义记录类型`CUSTOM_RECORD`中,可以这样做:
```sql
CREATE TYPE CUSTOM_RECORD AS OBJECT (
column1 NUMBER,
column2 VARCHAR2(50)
);
DECLARE
cursor_result CURSOR FOR SELECT column1, column2 FROM MY_TABLE;
record_data CUSTOM_RECORD;
BEGIN
OPEN cursor_result;
LOOP
FETCH cursor_result INTO record_data.column1, record_data.column2;
EXIT WHEN cursor%NOTFOUND; -- 结束循环条件
-- 这里你可以对record_data进行进一步的操作
DBMS_OUTPUT.PUT_LINE('Column1: ' || record_data.column1 || ', Column2: ' || record_data.column2);
END LOOP;
CLOSE cursor_result;
EXCEPTION
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20001, 'An error occurred while processing the query.');
END;
/
```
在这里,`cursor_result`是一个游标,每次循环都会从查询结果中获取一行数据,并放入`record_data`对象的相应字段中。
阅读全文