重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
需要用存储过程解决。
员工经过长期磨合与沉淀,具备了协作精神,得以通过团队的力量开发出优质的产品。成都创新互联公司坚持“专注、创新、易用”的产品理念,因为“专注所以专业、创新互联网站所以易用所以简单”。公司专注于为企业提供成都网站设计、成都网站建设、微信公众号开发、电商网站开发,微信小程序定制开发,软件按需网站设计等一站式互联网企业服务。
如数据库中存在两张表,要给两张表都增加两个同样名称同样属性的字段,需要用以下代码:
1、创建测试用表test和test1
create table test
(id int,
name varchar2(10));
create table test1
(id int,
name varchar2(10));
2、要为两个表同时增加id1和name1字段。使用代码:
declare
v_sql varchar2(2000);
v_table_name varchar2(30);
cursor c1 is select table_name from user_tables;
begin
open c1;
loop --提取一行数据到c1
fetch c1 into v_table_name;
--判读是否提取到值,没取到值就退出
--取到值c_job%notfound 是false
--取不到值c_job%notfound 是true
exit when c1%notfound;
v_sql:='alter table '||v_table_name||' add id1 int';
execute immediate v_sql;
v_sql:='alter table '||v_table_name||' add name1 varchar2(10)';
execute immediate v_sql;
end loop;--关闭游标
close c1;
end;
3、执行代码,成功无误后,查询test表和test1表结构
这里涉及到两个系统视图的应用dba_tab_cols和user_tab_cols;
dba_tab_cols包含所有用户下表字段信息;user_tab_cols包含当前用户下表信息;使用tba_tab_clos查询表字段类型需要指定owner(用户)
上述两个表中,table_name,column_name,data_type就可以满足需要查询表字段类型了,具体类型对应其他字段还有另外定义,比如varchar2,date,number还对应在data_length字段有值,说明类型其长度
user_tab_columns和user_tab_cols都可以满足问题要求,但是两张视图还是有区别的,主要是包含字段的区别等,具体区别可以度娘哈,这里就不赘述。
一、 SQLPLUS中,直接用 DESC[ribe] tablename 即可。
二、在外部应用程序调用查看ORACLE中的表结构时,只能用下面的语句代替:
1、看字段名与数据类型
select * from cols
WHERE TABLE_name=upper('table_name');
--(user_tab_columns缩写cols)
2、查看全部列
select * from user_tab_columns
where table_name = upper(‘tablename’);
3、查看某些列
select column_name,data_type,data_length,DATA_PRECISION ,DATA_SCALE
from all_tab_columns
where table_name=upper('tablename');
4、查看指定列的数据类型
select DATA_TYPE
from User_Tab_Columns t
where t.column_name=upper('FIELDA列名')
and t.table_name =upper(trim('TEST2表名'));
5、通过user_constraints查看所有约束
select * from user_constraints where table_name = upper('tablename');
6、查看主键约束:
select * from user_constraints where constraint_type='P' and TABLE_name=upper('table_name');
查询表中所有字段的值
select * from tab;
查找表中所有的字段名
select column_name from user_tab_cols where table_name='TAB';
注意TAB是你的表名,必须大写
1、在企业管理器中,点击对应方案下面的数据表,就可以看见表结构了,字段是否有默认值都可以看见;
2、通过pl/sql
developer,在tables下面,右键对应数据表,选择查看或编辑,就可以看见表结构了,字段是否有默认值都可以看见。
1、创建测试表,
create table test_cols(id varchar2(20),remark varchar2(20),ex_filed1 varchar2(20),ex_filed2 varchar2(20));
2、编写sql,查看系统视图,可以看到该用户下所有表的字段信息,select * from user_tab_cols;
3、编写sql,查询刚创建的表,字段信息,select * from user_tab_cols t where table_name = 'TEST_COLS';
4、编写sql,查询该表的字段数,这样对于字段较多的表,结果更明显;
select count(distinct column_name) from user_tab_cols t where table_name = 'TEST_COLS'