給定一個列出我所有表和列的select語句,如何將表和列名轉換爲可在單獨的select語句中使用的標識符?將文本轉換爲數據庫對象和字段標識符
換句話說,如果我有字符串@表=「人」和@Column =「名稱」,我想是這樣的:
select
DATALENGTH(MAX([email protected])) as Longest,
DATALENGTH(MIN([email protected])) as Shortest
from @Table as t;
當然,這不完成我想要的。我想知道存儲在列中的最長和最短字符串的長度。如果我想爲單個列提供這些信息,則不需要使用這些字符串化變量。但我想爲我的數據庫中的每個(varchar)列執行此操作。生命太短,無法創建每條SQL語句來完成此任務。這就是爲什麼我需要用於指定表格和列的參數化機制。我如何解決這個問題以達到目標?
當然,我可以解決這個問題。也許我應該通過索引來解決每一列,並且只在需要輸出時才轉換爲列名。思考?
只有實現這一目標的方法是使用動態SQL –