Я пишу функцию для проверки, если таблица пуста или нет, с передачей имени таблицы в качестве параметра.Вот мой код:
CREATE OR REPLACE FUNCTION EMPTY_TABLE (table_name IN VARCHAR2)
RETURN NUMBER
IS
Is_empty NUMBER;
v_SQL VARCHAR(1000);
BEGIN
v_SQL:= 'SELECT CASE
WHEN EXISTS(SELECT 1 FROM ' || table_name || ')
THEN 1
ELSE 0
END INTO Is_empty
FROM DUAL';
execute immediate v_SQL;
RETURN Is_empty;
END EMPTY_TABLE;
/
Этот код компилируется без ошибок, но когда я его выполняю, я получаю ошибку: ORA-00905: отсутствует ключевое слово .Само по себе Select отлично работает, у меня просто проблемы с тем, как написать динамический SQL, который бы объединял с ним имя таблицы.Любая помощь приветствуется!