ORA-04063:视图"MFA44.IMS_REQUEST_LIST"有错误



我相信这个问题可以通过朝着正确的方向推动来解决......我通过删除引用名为 FMS_PURPOSES 的表的列之一 (PURPOSE_ID) 来更改名为 FMS_BYLAWS 的表。相反,我创建了一个名为 PURPOSE_IDS(VARCHAR2(1000)) 的新列。这将是将在应用程序中处理的 ID 集合。我有一个名为 IMS_REQUEST_LIST 的视图现在有错误,因为我删除了此列并替换了它。

我需要知道如何更改视图以使其重新启动并运行。或者我需要一种方法来查看创建视图的原始语句,以便我可以获取并更改它。如果需要任何其他信息,请向我索取,我将尽我所能提供!下面是用于获取文本的选择语句...我不完全明白:

SQL> SELECT text FROM ALL_VIEWS WHERE VIEW_NAME = 'IMS_REQUEST_LIST';
TEXT
--------------------------------------------------------------------------------    
SELECT r.id            AS request_id,
r.issue_id             AS issue_id,

您可以在user_errors视图中看到它出错的原因,或者alter view ims_request_list compile后跟 show_errors 。据推测,它指的是掉落的列;否则,它将被该删除无效,但在下次引用时重新编译。该自动重新编译失败,因为它现在存在语法错误。

all_views.text列为 LONG。默认情况下,SQL*Plus 仅显示 LONG、CLOB 和 XMLType 列的前 80 个字符。您可以执行set long 32767(或任何大数字)以查看全文。

还可以使用 dbms_metadata.get_ddl 函数获取完整的 create view 语句。您也需要set long才能看到所有这些,因为它返回 CLOB。

查询结果被截断。文本是长列。在 sqlplus 问题中

设置长4000;

在运行查询以获取 4000 个字符的文本之前。

最新更新