You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取HANA数据库及指定架构中失效的存储过程与函数列表?

Hey,针对你提到的两个问题——尤其是你替换OWHS.Col1为OLCT.Col2后需要验证遗留引用的场景,我整理了HANA数据库里查找失效存储过程和函数的实用方法:

一、获取HANA数据库中所有失效的存储过程和函数列表

HANA自带了系统视图SYS.INVALID_OBJECTS,专门记录所有处于失效状态的数据库对象,这是最直接的途径。你可以用下面的SQL查询来筛选出失效的存储过程和函数:

SELECT 
    SCHEMA_NAME,
    OBJECT_NAME,
    OBJECT_TYPE,
    ERROR_MESSAGE
FROM SYS.INVALID_OBJECTS
WHERE OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION');

这里的ERROR_MESSAGE字段会明确告诉你失效原因——比如你场景里的“找不到OWHS.Col1列”,能帮你快速定位哪些对象还遗留了旧引用。

二、获取特定架构下的失效存储过程和函数列表

如果你只需要关注某个目标架构(比如你要验证的业务架构),只需要在查询里加个架构过滤条件就行:

SELECT 
    SCHEMA_NAME,
    OBJECT_NAME,
    OBJECT_TYPE,
    ERROR_MESSAGE
FROM SYS.INVALID_OBJECTS
WHERE 
    OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION')
    AND SCHEMA_NAME = 'YOUR_TARGET_SCHEMA'; -- 替换成你的实际架构名

这个查询会精准返回你指定架构下所有失效的存储过程和函数,完全匹配你的需求。

额外提示

因为你已经删除了OWHS.Col1,所有还引用该列的对象都会被HANA自动标记为失效,所以通过SYS.INVALID_OBJECTS查询到的结果就是你需要检查的“遗留引用对象”。如果想进一步确认依赖关系,也可以结合SYS.OBJECT_DEPENDENCIES视图,但失效列表的实时性和准确性会更高,毕竟是HANA主动检测并维护的。

内容的提问来源于stack exchange,提问作者WishIWasACoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 21:52:32