2013-05-03 120 views
0

我有一個表MstAttributes另一個作爲TrnIndexAttributes。我想在TrnIndexAttributes表中創建很多列,因爲MstAttributes中有很多行。在插入MstAttributesone列中的值後,應該在TrnIndexAttribute表中創建像ID1,ID2,ID3一樣的數據....如何創建一個觸發器,用於在另一個表中插入數據時創建表中的列

+10

不要這樣做。只是...不。 – 2013-05-03 14:01:10

+2

動態添加列通常是一個壞主意,因爲(例如)您無法管理模式(限制表增長,管理索引),並且不能編寫代碼來使用新列,因爲您不知道它們何時被添加或他們包含什麼。如果你解釋*爲什麼*你想這樣做,有人可能有另一種解決方案。 – Pondlife 2013-05-03 14:12:58

+4

當達到記錄尺寸限制時,你會怎麼做? (提示,你會快速地修改))你將如何確定正確的數據類型?你爲什麼要這樣做?如果您不知道在設計時需要哪些列,可能關係數據庫不是解決問題的最佳工具。 – HLGEM 2013-05-03 14:21:36

回答

0

如果您真的覺得這樣做(儘管Philip Kelley有正確的警告),您將擁有使用動態查詢。

DECLARE @Query NVARCJAR(MAX) = N'ALTER TABLE TableOfInfiniteDoom ADD COLUMN' + [your logic for a name] + [your ligic for a type] 
EXEC sp_executesql @Query 

在你的trugger(如果你處理multils DML,請不要忘記循環)。

相關問題