Oracle获取列名为“id”的所有字段值的select语句

Oracle获取列名为“id”的所有字段值的select语句,第1张

select table_name,column_name

from user_tab_columns

where COLUMN_NAME ='ID' --要大写

这样能查出那些表含有ID字段,后续就都方便了

declare

l_cnt    varchar2(20);

v_sql  varchar2(4000);

v_tablename varchar(200);

  cursor cursor_jsdx is select 'select count() from ' || table_name || ' where BANK_ACC=''000000''',table_name from user_tab_columns where column_name='BANK_ACC';

  --注:这里的字段名要大写 

begin

     open cursor_jsdx;

      

      

     Loop

            fetch cursor_jsdx into v_sql,v_tablename;

            exit when cursor_jsdx%notfound;

            execute immediate v_sql       into l_cnt;           

         if l_cnt >0 then   

         ---如果该表有那内容的就打印那个表的update语句

            dbms_outputput_line('update ' || v_tablename || ' set BANK_ACC=''111'' where BANK_ACC=''000000'';');

         end if;       

 

     end loop;

      

    Close cursor_jsdx;

 

 

end;

我这个只是输出更新语句

ResultSetMetaData rsmd;

rsmd = resultsgetMetaData();

numCols = rsmdgetColumnCount();

这样就的到了所有的列数numCols。

之后

getColumnType(int); 获取列的sql数据类型

getColumnName(int); 获取第几列的列名

突破口就在于getColumnName(int) 上

变量i,columnName,遍历所有列名,然后如果columnName等于所给的字段名,后将字段名输出,并将i输出

要说是第几列的话应该是i+1列

比如数据库里有张表,表里有个字段是uname,这个字段有个值叫test,现在我们要在java里面使用sql语句查询这个名字叫test的其他相关数据,当然条件是uname='test'。

然后我们在java里就可以定义一个常量

string

final

fname='uname'

这样我就可以使用这个常量当做列名来用select

“+fname+"'

as

colname

from

doctabname";

这样你该懂了吧!

1、查找表的所有索引(包括索引名,类型,构成列):select t,iindex_type from user_ind_columns t,user_indexes i where tindex_name = iindex_name and ttable_name = itable_name and ttable_name = 要查询的表2、查找表的主键(包括名称,构成列):select cu from user_cons_columns cu, user_constraints au where cuconstraint_name = auconstraint_name and auconstraint_type = 'P' and autable_name = 要查询的表3、查找表的唯一性约束(包括名称,构成列):select column_name from user_cons_columns cu, user_constraints au where cuconstraint_name = auconstraint_name and auconstraint_type = 'U' and autable_name = 要查询的表4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):select from user_constraints c where cconstraint_type = 'R' and ctable_name = 要查询的表查询外键约束的列名:select from user_cons_columns cl where clconstraint_name = 外键名称查询引用表的键的列名:select from user_cons_columns cl where clconstraint_name = 外键引用表的键名5、查询表的所有列及其属性

视图dba_tab_columns,user_tab_columns,all_columns,dba_tab_clos,user_tab_cols,all_tab_cols 都可以查询到,

例如:select from user_tab_columns where column_name='FPQH';

select table_name from all_tab_columns

where user = '你的用户' and column_name = ‘NAME列名’;

与列信息有关的3个数据字典user_tab_columns(当前用户所拥有的表列 ),all_tab_columns(可访问的表列),dba_tab_columns(所有表列)

以上就是关于Oracle获取列名为“id”的所有字段值的select语句全部的内容,包括:Oracle获取列名为“id”的所有字段值的select语句、从才oracle中找到所有列名为BANK_ACC,且BANK_ACC=000的项,并将BANK_ACC=000000的项修改为BANK_ACC=111、在Oracle中怎么查某个字段属于第几列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9570368.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存