У нас есть требование, когда мы должны передавать имя таблицы объекту pl / SQL во время выполнения.
Ниже приведен пример
create or replace FUNCTION ABC
(P_TABLE VARCHAR2) RETURN NUMBER IS
C_REFERENCE SYS_REFCURSOR;
V_TABLE VARCHAR2(50):=P_TABLE;
V_C_REF v_table%rowtype;
BEGIN
OPEN C_REFERENCE FOR 'SELECT * FROM '||V_TABLE||;
LOOP
FETCH C_REFERENCE INTO V_C_REF;
EXIT WHEN C_REFERENCE%NOTFOUND;
/*some processing*/
END LOOP;
return(1);
END;
Приведенный выше код даст мнеошибка.Есть ли обходной путь для этого?Имя таблицы может различаться, и разные таблицы будут иметь разную структуру.