как выполнить несколько слов ddl с пакетной обработкой - PullRequest
0 голосов
/ 08 октября 2011

Когда я развертываю свое приложение asp.net, мне нужно создать несколько таблиц / пользователей, я использую 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

Кстати, я запускаю пакеты sql в окне sql разработчика pl / 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 ]

1 голос
/ 08 октября 2011

Если у вас есть два оператора в файле, который вы запускаете из SQL * Plus, вам нужно разделить операторы символом /, что также приводит к выполнению каждого из них

create tablespace TSA ...
/

create user a ... default tablespace TSA
/

(Это довольно большое «если», конечно, согласно комментарию @ APC; но это то, о чем мы говорили раньше. Среди прочего, есть и другие способы запуска вещей в SQL Developer. Но на самом деле не более, чем предположение из минимальной информации, приведенной ...)

0 голосов
/ 09 октября 2011

У вас точка с запятой ; отсутствует в конце вашего первого CREATE TABLE

...