oracle添加表的字段问题 表已经都建好了,但是后来的需求需要在多个表中添加一个相同的列,多多指教。求解。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --简单点就用sql语句,你只要把下面查询语句的结果执行就可以了select 'alter table '||table_name||' add (col varchar2(200)) ;'from all_tableswhere owner='SCOTT'alter table DEPT add (col varchar2(200)) ;alter table EMP add (col varchar2(200)) ;alter table BONUS add (col varchar2(200)) ;alter table A add (col varchar2(200)) ; 什么意思?直接alter table table_name add newcol varchar2(10) not null 不行吗? --用sql语句来执行sql语句 (sqlplus里执行)scott@YPCOST> set echo off;scott@YPCOST> set heading off;scott@YPCOST> set feedback off;scott@YPCOST> spool test.sql;scott@YPCOST> select 'alter table '||table_name||' add (col varchar2(200)) ;'from all_tables 2 where owner='SCOTT';alter table DEPT add (col varchar2(200)) ;alter table EMP add (col varchar2(200)) ;alter table BONUS add (col varchar2(200)) ;alter table A add (col varchar2(200)) ;scott@YPCOST> spool off;scott@YPCOST> ed test.sql; --这个时候会有个记事本,你把头部去掉,把尾部去掉就 保存就可以了/*记事本里的内容scott@YPCOST> select 'alter table '||table_name||' add (col varchar2(200)) ;'from all_tables 2 where owner='SCOTT';alter table DEPT add (col varchar2(200)) ;alter table EMP add (col varchar2(200)) ;alter table BONUS add (col varchar2(200)) ;alter table A add (col varchar2(200)) ;scott@YPCOST> spool off;*/scott@YPCOST> start test.sql --这个就是执行记事本里的语句 beginfor i in(select table_name from user_tables) loopexecute immediate 'alter table '||i.table_name||' add col_name 数据类型(长度)';end; 物化视图及表同步 这样的sql如何写? oracle 11g中 在dos中 输入 :sqlplus scott/tiger 为什么出现错误? Toad Quest Code Tester For Oracle 求RMAN备份学习资料 请问该如何进行双机备份(linux+oracle)? 请教重建hash分区上的索引 如何从dmp文件中知道导出用户是谁? 在编写ORACLE的存储过程中,如何让存储过程在执行过程中输入结果 求救!!!oracle的问题 linux下的Oracle安装包? vb 调用 oracle 使用 order 函数后,删除某一记录显示无法定位
select 'alter table '||table_name||' add (col varchar2(200)) ;'from all_tables
where owner='SCOTT'alter table DEPT add (col varchar2(200)) ;
alter table EMP add (col varchar2(200)) ;
alter table BONUS add (col varchar2(200)) ;
alter table A add (col varchar2(200)) ;
直接alter table table_name add newcol varchar2(10) not null
不行吗?
scott@YPCOST> set echo off;
scott@YPCOST> set heading off;
scott@YPCOST> set feedback off;
scott@YPCOST> spool test.sql;
scott@YPCOST> select 'alter table '||table_name||' add (col varchar2(200)) ;'from all_tables
2 where owner='SCOTT';alter table DEPT add (col varchar2(200)) ;
alter table EMP add (col varchar2(200)) ;
alter table BONUS add (col varchar2(200)) ;
alter table A add (col varchar2(200)) ;
scott@YPCOST> spool off;
scott@YPCOST> ed test.sql; --这个时候会有个记事本,你把头部去掉,把尾部去掉就 保存就可以了
/*记事本里的内容
scott@YPCOST> select 'alter table '||table_name||' add (col varchar2(200)) ;'from all_tables
2 where owner='SCOTT';alter table DEPT add (col varchar2(200)) ;
alter table EMP add (col varchar2(200)) ;
alter table BONUS add (col varchar2(200)) ;
alter table A add (col varchar2(200)) ;scott@YPCOST> spool off;*/scott@YPCOST> start test.sql --这个就是执行记事本里的语句
for i in(select table_name from user_tables) loop
execute immediate 'alter table '||i.table_name||' add col_name 数据类型(长度)';
end;