--可以用数据字典去创建一个函数(或存储过程): --数据字典查询语句如下: select column_id, column_name from user_tab_columns where table_name = 'EMP' order by column_id;
declare v_cn varchar2(20); v_sql varchar2(1000); begin select column_name into v_cn from user_tab_columns t where t.table_name = 'EMP' and t.COLUMN_ID=2;
v_sql:='select '||v_cn||' from emp'; execute immediate v_sql;
dbms_output.put_line('v_cn:'||v_cn);
end; /
COLUMN_ID NUMBER Sequence number of the column as created 这个COLUMN_ID和楼主说的“第几列”应该不是一个概念吧
select * from user_tab_cols t where t.table_name = 'SALES' and t.COLUMN_ID=2;
--数据字典查询语句如下:
select column_id,
column_name
from user_tab_columns
where table_name = 'EMP'
order by column_id;
v_cn varchar2(20);
v_sql varchar2(1000);
begin
select
column_name into v_cn
from user_tab_columns t
where t.table_name = 'EMP'
and t.COLUMN_ID=2;
v_sql:='select '||v_cn||' from emp';
execute immediate v_sql;
dbms_output.put_line('v_cn:'||v_cn);
end;
/
where t.table_name = 'SALES'
and t.COLUMN_ID=2;