SQLplus ожидаемый символ - PullRequest
0 голосов
/ 21 марта 2020

Здравствуйте, я новичок в SQL Я пытаюсь создать базу данных, и у меня возникла проблема с запуском этого кода в cmd sqlplus

execute 'CREATE BIGFILE TABLESPACE "COMPANY_DATA" DATAFILE 'c:\software\COMPANY_data_tablespace' SIZE 1G AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;'

Я получаю эту ошибку

Error at line 1:
ORA-06550: line 1, column7:
PLS-00103: encountered the symbol execute 'CREATE BIGFILE TABLESPACE "MG_DATA" DATAFILE when expecting the following:
(begin case declare exit for goto if loop mod null pargma
raise return select update while with <an identifier>
<adouble-quoted delimited-identifier><a bind variable><<
continue close current delete fetch lock insert open rollback
savepoint set SQL execute commit forall merge pipe purge

Я не уверен, что мне не хватает в синтаксисе. Я знаю, что это вопрос noob ie, но немного озадачен, спасибо

1 Ответ

1 голос
/ 21 марта 2020

Ваша синтаксическая ошибка вызвана тем, что вы заключаете весь оператор CREATE в одинарные кавычки, но сам оператор содержит встроенные одинарные кавычки. Таким образом, анализатор видит первую кавычку и завершает эту строку, когда видит следующую. И это происходит, когда вы нажмете имя файла. Вам нужно будет избегать встроенных кавычек.

Или, что гораздо лучше, как сказал @GMB, просто отправьте оператор CREATE напрямую. Почему вы думали, что вам нужно процитировать его и отправить с EXECUTE в первую очередь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...