你只能在存储过程中使用动态的匿名块了。
比如:
create or replace procedure pro1(p_tname varchar2) is
v_dy_sql_block varchar2(32767) ;
begin
v_dy_sql_block := ' declare '||
' l_row '||p_tname||'%rowtype ;' ||
'....' ;
execute immediate v_dy_sql_block ;
end;
1、可以这么声明:
TYPE t_StudentRecord IS RECORD(
StudentID NUMBER(5),
FirstName VARCHAR2(20),
LastName VARCHAR2(20);
/*定义t_StudentRecord 类型变量.*/
v_StudentInfo t_StudentRecord;
2、记录赋值
可以用SELECT语句向记录赋值,这将会从数据库中检索数据并将该数据存储到记录中。注意的是,记录中字段应该和查询结果列表中的字段相匹配。
SELECT studentID,firstName,lastName
into v_StudentInfo
from students where studentID=32;