oracle 在toad中怎么执行多条DDL语句

夕拾黄花 2011-08-16 09:59:52
数据库中已经有数据了,数据不能删。现在我要一次修改很多表的结构,比如修改表的字段长度或者默认值等。其中会添加或删除临时表。怎么样才能在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 '无')';

这么多单引号 就不行了啊。。。怎么办 ??有没有转义之类的??





...全文
443 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
夕拾黄花 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tianlesoftware 的回复:]
按脚本执行,

全选,然后按F5.
[/Quote]
谢谢 你是对的。。。
yjytiantang 2011-08-17
  • 打赏
  • 举报
回复
'alter table tb1 modify(name default '无')';

这么多单引号 就不行了啊。。。怎么办 ??有没有转义之类的??

用这种写法的话,字符串用双引号
'alter table tb1 modify(name default ''无'')';
iqlife 2011-08-17
  • 打赏
  • 举报
回复
PLSQL DEV,全选,F8 完成
yixilan 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 whq0324 的回复:]
引用 1 楼 tianlesoftware 的回复:
按脚本执行,

全选,然后按F5.


你是说 什么都不做直接一条一条语句写下来 分号隔开,全选?再点击执行?
好像不行吧?
[/Quote]
F5还是F8来着。肯定有一个是可以的。以前用过。
夕拾黄花 2011-08-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tianlesoftware 的回复:]
按脚本执行,

全选,然后按F5.
[/Quote]

你是说 什么都不做直接一条一条语句写下来 分号隔开,全选?再点击执行?
好像不行吧?
夕拾黄花 2011-08-16
  • 打赏
  • 举报
回复
你是说 什么都不做直接一条一条语句写下来 分号隔开,全选?再点击执行?
好像不行吧?
Dave 2011-08-16
  • 打赏
  • 举报
回复

按脚本执行,

全选,然后按F5.

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧