
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中怎么查某个字段属于第几列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)