У меня есть вопрос относительно ORACLE, я написал КОД PLSQL, который проверяет, если таблица существует, если она существует, то я выбираю что-то из этого table..pseudocode, как:Выберите из таблицы, которая не существует
если (таблица существует) Выберите из таблицы, где ....
проблема заключается в том, что я всегда получаю сообщение об ошибке, если таблица не существует, даже если условие if никогда не выполняется, и оператор select никогда не выполняется.
Я думаю, это потому, что мой код проверяется во время компиляции: «выберите из ..», а затем он печатает ошибку, если таблица не существует. Как я могу решить такой вопрос .. вот как мой код выглядит следующим образом (я использовал родовые имена):
DECLARE
v_table_exists NUMBER;
BEGIN
SELECT NVL(MAX(1), 0)
INTO v_table_exists
FROM ALL_TABLES
WHERE TABLE_NAME = 'TABLE_TEST';
IF v_table_exists = 1 THEN
INSERT INTO MY_TABLE(COLUMN1, COLUMN2, COLUMN3, COLUMN4)
SELECT 1234,
5678,
T.COLUMN_TEST1,
T.COLUMN_TEST2
FROM TABLE_TEST T
WHERE T.FLAG = 1;
END IF;
END;
Возможная Дубликат [Использование SQL запрос, чтобы определить, является ли таблица существует] (http://stackoverflow.com/questions/4385346/using-sql-query-to- define-if-a-table-exists) – Midwire
Я отредактировал свой вопрос, разместил пример – NoName123