oracle添加多个表字段,oracle表增加一个字段
oracle数据库中怎样对多个表增加字段
时候有需要在oracle数据库中添加多个字段的需求,案例如下:
alter
table
my_workflow
add
(state
varchar2(2)
default
'0'
not
null,name
varchar2(100)
not
null,age
number
default
not
null);
上面的语句解释:
表名:my_workflow
添加了3个字段:
字段1:字段名称:state,
数据类型
:varchar2(2)
,默认值'0',不为空(not
null)
字段2:字段名称:name
,数据类型:varchar2(100),不为空(not
null)
字段3:字段名称:age,数据类型number,默认值0,不为空(not
null)
oracle 数据库 表增加字段
会,比如 说增加了字段,你
insert into table values()
这样就出错了,因为你是全字段插入。但是其实你没有values。
如何对oracle中某个库里的所有表添加同样的3个字段
1、创建测试用表test和test1
create table test
(id int,
name varchar2(10));
create table test1
(id int,
name varchar2(10));
2、要为两个表同时增加id1和name1字段。使用代码:
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;