gpt4 book ai didi

sql-server-2008 - 动态列名

转载 作者:行者123 更新时间:2023-12-04 18:28:44 25 4
gpt4 key购买 nike

是否可以创建一个 查看 (不是存储过程)具有基于另一个表的动态列名?例如:

Code:
CodeId|Description
------------------
1|Title
2|Notes

Data:
DataId|Content|CodeId|GroupId
-----------------------------
1|Title1 | 1| 1
2|Note1 | 2| 1
3|Title2 | 1| 2
4|Note2 | 2| 2

Select Result:
GroupId|Title |Notes
-------------------
1|Title1|Note1
2|Title2|Note2

列名“Title”和“Notes”将来自 Code table 。我猜答案是否定的,但我想确认一下。谢谢!

编辑:我明白这可能是“危险的”。如果有人更新了代码描述, View 就会改变,破坏任何依赖于列名的 SQL。在这种情况下,我可以改用 CodeId,但不允许更改。

最佳答案

EAV(实体-属性-值)模型的危险有很多,而且您只是在为将来的大量头痛做好准备。话虽如此,你的具体问题对我来说似乎有可能解决。你已经被警告了...

您可以通过在代码表上放置触发器来做到这一点。每当有人添加、删除或更新表中的某一行时,触发器将负责使用正确的语句重新创建 View 。

关于sql-server-2008 - 动态列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3214789/

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