如何使用批处理执行多个ddl单词

时间:2011-10-08 14:16:13

标签: oracle ddl

当我部署我的asp.net应用程序时,我必须创建一些tableapces / users,我使用pqsql,但是我想知道有什么方法可以用批处理创建它们吗?

例如,我可以执行这个ddl:

create tablespace TSA.....

然后我可以执行:

create user a ... default tablespace TSA...

但是当我同时执行它们时:

create tablespace TSA.....

create user a ... default tablespace TSA...

我会收到错误。

任何方式?

更新

错误是这样的:

ORA-02180: invalid CREATE TABLESPACE words

BTW,我在pl / sql开发人员的sql窗口中运行sql批处理。

现在,我只是想知道是否有任何方法可以运行整个ddl sql文件?

假设这是init.sql

的内容
create smallfile tablespace "DEV" datafile 'f:\app\administrator\oradata\orcl\dev01.dbf' size 100m autoextend on next 10m maxsize unlimited logging extent management local segment space management auto default nocompress


-- Create the user 
create user dev_sa
  identified by "000000"
  default tablespace DEV
  temporary tablespace TEMP;
-- Grant/Revoke role privileges 
grant connect to dev_sa;
grant dba to dev_sa;

--create another tablespace
--.....

如何在批处理模型中执行它?

2 个答案:

答案 0 :(得分:1)

如果您在SQL * Plus中运行的文件中有两个语句,则需要将语句与/字符分开,这也会导致每个语句被执行

create tablespace TSA ...
/

create user a ... default tablespace TSA
/

(当然,根据@ APC的评论,这是一个非常大的'如果';但是之前出现的是。在SQL Developer中有不同的运行方式,除此之外。但实际上只是一个猜测从给出的最小信息...)

答案 1 :(得分:0)

您的第一个;

结束时遗漏了一个分号CREATE TABLE