gpt4 book ai didi

sql-server - ROUTINE_NAME 和 SPECIFIC_NAME 之间有什么区别?

转载 作者:行者123 更新时间:2023-12-02 22:35:37 24 4
gpt4 key购买 nike

在 INFORMATION_SCHEMA.ROUTINES View 中,存在 ROUTINE_NAME 和 SPECIFIC_NAME。根据MSDN他们是一样的。它们的存在只是为了某种向后兼容性吗?如果不是,为什么 View 中包含冗余字段?

最佳答案

ANSI SQL 标准不禁止重载,即两个对象具有相同的名称。 SPECIFIC_NAME 是重载模块的唯一名称,而 ROUTINE_NAME 不能保证是唯一的。无论您在哪里看到 SPECIFIC,例如 SPECIFIC_CATALOG 和 SPECIFIC_SCHEMA,情况都是如此。

T-SQL 不具备此功能,因此 SPECIFIC_NAME 和 ROUTINE_NAME 始终相同。

据我所知,唯一支持此功能的 SQL 实现是 PostgreSQL(请参见此处: http://www.postgresql.org/docs/current/interactive/infoschema-routines.html ),但我可能错了。我的预言机生锈了。

我不完全确定 SPECIFIC_CATALOG 将如何工作,尽管我认为它可能包含一些路径或服务器信息,以区分具有相同名称的两个不同数据库。

关于sql-server - ROUTINE_NAME 和 SPECIFIC_NAME 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23807795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com