TMP%ROWTYPE
时间: 2024-09-30 13:16:25 浏览: 28
在Oracle数据库中,`TMP%ROWTYPE`是一个隐含的数据类型,它是临时表(Temporary Table)或游标(Cursor)所指向的行类型的别名。当你创建一个临时表或者使用`SELECT INTO CURSOR`创建游标时,Oracle会自动为表中每一列生成一个对应的隐含数据类型,`%ROWTYPE`就是这样的一个数据类型,它可以让你方便地引用或操作当前行的全部字段值。
例如,如果你有一个名为`TBL_TEMP`的临时表,你可以像下面这样使用`TMP%ROWTYPE`:
```sql
CREATE GLOBAL TEMPORARY TABLE TBL_TEMP (ID NUMBER, NAME VARCHAR2(50));
DECLARE
CURSOR CURSOR_NAME IS SELECT * FROM TBL_TEMP;
ROW_TYPE TMP%ROWTYPE;
BEGIN
OPEN CURSOR_NAME;
LOOP
FETCH CURSOR_NAME INTO ROW_TYPE;
EXIT WHEN CURSOR_NAME%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('ID: ' || ROW_TYPE.ID);
DBMS_OUTPUT.PUT_LINE('NAME: ' || ROW_TYPE.NAME);
END LOOP;
CLOSE CURSOR_NAME;
END;
```
在这里,`ROW_TYPE`变量就是`TBL_TEMP`的每一条记录的一个实例,你可以直接访问其字段。
阅读全文