![](/img/trans.png)
[英]Create a dynamic table in dynamic SQL and reference it outside of dynamic SQL
[英]SQl reference table - dynamic columns
我想创建一个参考表。 行和列的数量可以随着时间增长(并且变得多余)。 列名称也可能随时间而变化。 假设第(n)行的“位置”列中的值为“ IT工程师”。 对于列结构中最下方的特定行(n),让我在“ Behind Sheds”列中说,这是我需要检索的值。 如果列数是固定的,那没问题,但是现在可以使用T-SQL动态添加列,这很容易做到,甚至重命名这些列。 我的问题是,为上述示例动态添加列是一种好的做法,还是有更好的选择?如何?
谢谢。
可能最好使用带有字段的加法表之类的东西: person_id
(主表的外键), person_param
(例如“位置”), person_value
(例如“ IT工程师”)?
我相信您的问题是实施EAV模型的正确选择。
基本上没有20列,而是有3列:
这样,对于数据库中的10个实体(每个实体具有20列),您可以在EAV表中填充200行数据。 它具有较低的性能,较难查询,但确实具有灵活性,因此您甚至可以使每个实体具有不同的属性集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.