Мы пытаемся очистить нашу кодовую базу PLSQL, поскольку она разбросана по разным схемам, и хотим использовать функциональность PRAGMA DEPRECATE
для определения областей, в которых эти UDF / Procs используются для обновления их с помощью UDF / Procsиз нашей централизованной схемы. Но когда я перекомпилирую представление, которое использует устаревшую функцию, я не получаю никаких предупреждений для представления.
В пакете есть функция, которая успешно устарела. [Warning] PLW-06019 (13: 5): PLW-06019: entity FunctionName is deprecated
Я включил предупреждения PLSQL. ALTER SESSION SET PLSQL_WARNINGS='ENABLE:(6019,6020,6021,6022)';
CREATE OR REPLACE PACKAGE schemaName.PackageName
AS
FUNCTION FunctionName (p_NumIn NUMBER) RETURN VARCHAR2;
PRAGMA DEPRECATE(FunctionName);
END schemaName.PackageName;
CREATE OR REPLACE FORCE VIEW schemaName.ViewName
(
FunctionColumnName
)
BEQUEATH DEFINER
AS
SELECT DISTINCT
schemaName.FunctionName (ColumnNameNumVal)
FROM TableName
WHERE
TableName.ColumnNameInd IS NULL;
Я ожидал, когда я скомпилировал представление, чтобы была ошибка компиляции, указывающая, что функция, используемая в операторе выбора, устарела. Ошибка не предоставлена.