0

テーブル名を知らなくても、データベースからすべてのテーブルからデータを取得するタスクに取り組んでいます。私が計画しているのは、すべてのテーブル名と列名を取得して一時テーブルに格納するクエリを作成することです。

テーブル名と列名を取得したら、値を や などの変数に格納する必要があり@Table_Nameます@Column_Name。次に、ループ内でテーブル名を呼び出す必要があり、次のようなクエリを作成する必要があります

"select * from '''+@Table_Name+''' where '''+@Column_Name+''' = 1"

以前はcursor、値を取得して変数に格納し、ループ内で呼び出していました。しかし、カーソルがより多くの時間とメモリを消費しているようです。そこで、一時テーブルを使用して変更することを考えました。

私の疑問は、一時テーブルの値を変数に割り当てて後で使用することは可能かということです。可能であればどのように行うのですか?

4

1 に答える 1

0

SQL Server に配列の概念を取り込もうとしているので、あなたの考えはうまくいかないかもしれません。SQL Server には配列はありませんが、テーブルがあります。一時テーブルを作成することで、必要なデータを取得できます。のようなクエリを実行して挿入します select * from sys.tables。次に、このテーブルから各行をロードして操作を試みます。作業が終わったら、必ずテーブルを落としてください。

于 2013-01-21T12:29:01.563 に答える