Oracle中使用游标获取指定数据表的所有字段名对应的字符串

时间:2022-02-03 08:15:21

操作步骤:打开PLSQL Developer后,直接执行下面的语句就可以出来


--Oracle中使用游标获取指定数据表的所有字段名对应的字符串

declare
mytablename VARCHAR(255):='STAFFDOC'; --定义要查询的数据表名变量,STAFFDOC为我测试用的数据表名,请修改成您的数据库中的对应数据表名字
mystring NVARCHAR2(4000):=''; --定义要输出的字符串变量   

cursor mycursor is --定义游标          
select * from all_tab_columns where TABLE_NAME=mytablename ORDER BY column_id;  
myrecord mycursor%rowtype;  --定义游标记录类型   
Counter int :=0;   
begin   
open mycursor;  --打开游标   
if mycursor%isopen  then  --判断打开成功   
loop --循环获取记录集     
fetch mycursor into myrecord; --获取游标中的记录         

if mycursor%found then  --游标的found属性判断是否有记录  
begin
if length(mystring)>0 then
mystring:=mystring||','||myrecord.column_name;
else
mystring:=myrecord.column_name;
end if;
end;

else            
exit;
end if;
   
end loop;   
else     
dbms_output.put_line('游标没有打开');   
end if;  
dbms_output.put_line(mystring);    
close mycursor;
end;