日期:2014-05-17  浏览次数:21082 次

请教一个查询语句:未知表结构除了已知一个字段。查询除掉这个字段的所有纪录。
请教一个查询语句:未知表结构除了已知一个字段。查询除掉这个字段的所有纪录。

------解决方案--------------------
我想步骤应该这样:
1.找出对应的表:select table_name from user_tab_cols where column_name= '已知列名 '
2.找出对应的列:select column_name from user_tab_cols where table_name= '1查出的表名 ' and column_name <> '已知列名 '
3.查询:根据2的结果构造查询语句

不知哪位能一条语句就搞定,期待...
------解决方案--------------------
1:desc tablename不就知道表结构了

2:你到底想在什么地方用?
------解决方案--------------------
全表复制,再把半个子段删了。。。。
------解决方案--------------------
OracleDBA群35903017,欢迎加入。
------解决方案--------------------
create or replace procedure pro_get_data(in_table_name in varchar2,in_col_name in varchar2) is
v_sql varchar2(2000);
v_field varchar2(50);
v_flag number(1);
begin
----- 构造查询语句 ---------
v_sql:= 'select ';
v_flag:=0;
for x in (select column_name from user_tab_cols where table_name=upper(in_table_name) and column_name <> upper(in_col_name))
loop
v_field:=x.column_name;
if v_flag=0 then
v_sql:=v_sql||v_field;
v_flag:=1;
else
v_sql:=v_sql|| ', '||v_field;
end if;
end loop;
v_sql:=v_sql|| ' from '||in_table_name;
dbms_output.put_line(v_sql);
end;
/