【发布时间】:2025-12-18 03:20:04
【问题描述】:
上下文
我的 SQL Server 数据库中有三个表:1) School、2) College、3) University。
然后我有另一个表:标签。
三个表(School、College、University)中的每一个都可以有与之关联的标签。为此,我有三个关联表:SchoolTags、CollegeTags、UniversityTags。
问题
我正在尝试创建一个用户定义的函数,它将关联表的名称作为参数(即“SchoolTags”)和实体的 ID(学校/学院/大学),并将返回关联的标签列表使用那个 entityId。
我遇到的问题是我必须将 Tags 与一个名称将作为参数传入的表连接起来。为此,我正在创建一个动态查询。而且我们不能在 SQL Server 用户定义的函数中运行动态查询。
问题
知道如何实现吗?
注意:我想要创建单独的关联表,并且不想将它们转换为通用关联表,并且我不想在我的函数中根据表名添加If-Else,这样如果一个新的关联表已创建,我不需要更新我的函数。
我正在使用 Microsoft SQL Server。
【问题讨论】:
-
用您正在使用的数据库标记您的问题。
-
您是否在每个关联表中使用identity int 作为PK?
标签: sql sql-server database join user-defined-functions