![](/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.