すべてのテーブルとカラムをリストするselect文があると、テーブルとカラム名を別のselect文で使用できる識別子に変換するにはどうすればよいですか?私が欲しいものを達成していません。もちろん、テキストをdbオブジェクトとフィールド識別子に変換する
select
DATALENGTH(MAX([email protected])) as Longest,
DATALENGTH(MIN([email protected])) as Shortest
from @Table as t;
:私は、文字列@Table =「人」と@Column =「name」を持っている場合つまり
は、私はこのような何かをしたいです。私は列に格納されている最長と最短の文字列の長さを知りたい。この情報が単一の列に対して必要だった場合、これらの文字列化された変数を使用する必要はありません。しかし、私はこれをデータベースの向こうのすべての(varchar)列に対して実行したい。人生はこれを達成するためにすべてのSQL文を作成するには短すぎます。このため、テーブルと列を指定するためのパラメトリックなメカニズムが必要です。どのように私は目標を達成するためにこれを修正するのですか?
もちろん、私はこれについてすべて間違っている可能性があります。おそらく、各列をインデックスで指定し、出力が必要な場合にのみ列名に変換する必要があります。思考?
唯一の方法は、それはあなたが新しいユーザーに動的SQLを与えたときに、このようなことのために開示または警告のいくつかの並べ替えを追加するために本当に重要だ動的SQL –