Я знаю, что не рекомендуется создавать таблицу с помощью команды немедленного выполнения, но мне нужно создать таблицу, которая запрашивает у пользователя две части информации до начала действия. В настоящее время у меня есть:Создание таблицы со значением по умолчанию в операторе немедленного выполнения
DECLARE
TEST_NAME VARCHAR2(200);
TEST_VERSION VARCHAR2(200);
BEGIN
TEST_NAME := '&1';
TEST_VERSION := '&2';
EXECUTE IMMEDIATE 'create table TEST_TABLE
(
PROJ_NAME VARCHAR(255) DEFAULT TEST_NAME,
PROJ_VER VARCHAR(255) DEFAULT TEST_VERSION,
COL_1 NUMBER(5)
)';
End;
Это бросает ошибку
Error report:
ORA-00984: column not allowed here
ORA-06512: at line 8
00984. 00000 - "column not allowed here"
*Cause:
*Action:
Как я могу решить эту проблему? Также как второй вопрос, если мне удастся создать эту таблицу в другом скрипте, как использовать оператор if для сравнения переменной со значением по умолчанию столбца proj_name (test_name)?
EDIT: Благодаря TBone и Parado я решил мой первый вопрос, хотя, если кто-то может помочь с знать, как использовать, если заявление, чтобы сделать что-то вроде этого:
If test_var = proj_name.default_value ...
Мне нужно, чтобы быть в состоянии для сравнения с значением proj_name по умолчанию, даже если никакие строки не были вставлены. Спасибо,
Спасибо! : D работал отлично. – javakid1993
Должен ли я принять ответ и задать другой вопрос для моего второго вопроса в редакторе? – javakid1993
@ javakid1993 Думаю, вам нужно. – Parado