数据库中已经有数据了,数据不能删。现在我要一次修改很多表的结构,比如修改表的字段长度或者默认值等。其中会添加或删除临时表。怎么样才能在toad中一次性执行完呢。举个例子:
现在有这么几条语句create table tb1(id,name,department);alter table tb1 modify(name default '无');alter table tb1 modify(department varchar2(32));drop table tb2;怎么样才能一次性执行完呢?我曾找过方法;查到两种就是1 create table tb1(id,name,department);commit;
alter table tb1 modify(name default '无');
commit;
alter table tb1 modify(department varchar2(32));
commit;
drop table tb2;
commit;我执行了没反应 2.begin execute immediate 'create table tb1(id,name,department)';execute immediate'alter table tb1 modify(department varchar2(32))';execute immediate'alter table tb1 modify(name default null)';execute immediate'drop table tb2';end; 这个是可以的 ,但是我的'alter table tb1 modify(name default null)';这句 里面 的default 后面是实际的值 比如'alter table tb1 modify(name default '无')';这么多单引号 就不行了啊怎么办 ??有没有转义之类的??
现在有这么几条语句create table tb1(id,name,department);alter table tb1 modify(name default '无');alter table tb1 modify(department varchar2(32));drop table tb2;怎么样才能一次性执行完呢?我曾找过方法;查到两种就是1 create table tb1(id,name,department);commit;
alter table tb1 modify(name default '无');
commit;
alter table tb1 modify(department varchar2(32));
commit;
drop table tb2;
commit;我执行了没反应 2.begin execute immediate 'create table tb1(id,name,department)';execute immediate'alter table tb1 modify(department varchar2(32))';execute immediate'alter table tb1 modify(name default null)';execute immediate'drop table tb2';end; 这个是可以的 ,但是我的'alter table tb1 modify(name default null)';这句 里面 的default 后面是实际的值 比如'alter table tb1 modify(name default '无')';这么多单引号 就不行了啊怎么办 ??有没有转义之类的??
解决方案 »
- 连接数据库报错
- ORACLE 储存过程绑定变量
- 求纵表转横表过程 要求使用游标 跪谢
- 我在RedhatLinux 9.2上装oracle 10g 遇到的问题,请各位高手帮帮忙!!!(来者有益)
- 高分求助:能否自己编写一个oracle性能分析工具?
- 调用存储过程的返回值
- Oracle提示符的问题 解决立即给分
- EXP-00008: 遇到 ORACLE 错误 376 ,如何处理。
- 有两个表a,b 如何删除a中数据,条件是a.id=b.id and a.date<=to_adte('20001231','yyyymmdd')
- 我想好好学习一下标准SQL语言
- 数据文件没有同步到从库的问题
- 请问怎么按照求模分区
'alter table tb1 modify(name default ''无'')';