現在の状況に問題があり、ネット上の任意のソリューションを検索しましたが、まだ取得できません。ここSQL Server:動的な列を使用してテンポラリテーブルを作成する
質問:私は、文のそれぞれが異なるデータベースから選択することにより、挿入を行って、内部のカーソルを使用して、ならびにによって、ストアドプロシージャで実行される必要があるSQL文の束を有する
表。例えば
:
INSERT INTO Database1.Table1(column1, column2, column3)
SELECT column1,column2, column3
FROM Database2.Table2
WHERE --Some Condition
、多分別の実行されたSQL文は、基本的に私のプロセスは、2つのSQL文以上のことから、この
Execute Sql to insert into temp Tables --> Insert into a permanent Table from Temp Tables
のようなものです、この
INSERT INTO Database1.Table3(column1, column2, column3, column4)
SELECT column1, column2, column3, column4
FROM Database3.Table3
WHERE --Some Condition
オーケーのようなものです、データベース2または3から実行された結果、または4,5などである可能性があります。または永続的な店。それを伝えるもっと要約された方法では、私はちょうど別の処理を行うために、データベースの別のソースから取得してローカルデータベースに格納するデータの別のコピーを作成したいだけです。
私の主な問題は、担当者(またはマネージャー)が実行したすべての結果をTEMPテーブルまたは#Table
に入れてパーマネントに実行するように指示したことです。このような
何か:
INSERT INTO #Table3(column1, column2, column3, column4)
SELECT column1, column2, column3, column4
FROM Database3.Table3
WHERE --Some Condition
私は#Temp
テーブル上のいくつかの研究を経て、私は彼らのほとんどは、このような
CREATE TABLE #Table
(
column1 VARCHAR(10),
column2 VARCHAR(10),
column3 VARCHAR(10)
)
問題として「FIX」列で作成されたそれを見つけた:ありとにかく動的な列でそれを作成するには?より詳細な方法を尋ねるには、カラムをプレフィックスなしで#Temp
テーブルに選択して挿入する必要がありますか?なぜなら、実行されたSQLごとに一揃いの一時テーブルを作成することは不可能だからです。
PS 1ありがとう:私はSQL Serverへのかなりの初心者です、私のミスやエラーを声に躊躇しないでください。私たちはすべて間違いから学びます。
PS 2:貧しい私の英語のレベルで申し訳ありませんが、私はそれをより明確に詳しく説明しました。
よろしく:
LiangCk
あなたは 'SELECT'の結果に基づいてテーブルを作成するためにcoloum1、coloum2、coloum3、Database3.Table3' FROM#表3 INTO coloum4をSELECT'使用することができます。それはあなたが意味することですか? –
これは必要ありません。なぜなら、それぞれが異なるcoloumを持つ数百のSQLを扱う可能性があるからです。もし私が何をしたら、それは私が数百のTempテーブルを作成することを意味しますか? – Worgon
あなたは何を達成したいのか分かりません。私が理解しているように、異なる列を持つ複数のテーブルがあり、このデータを一時テーブルに挿入する必要があります。データベース全体を一時データベースにバックアップしてリストアするだけではできませんか?いずれか、またはあなたは、異なる一時テーブルの束を管理する必要があります。 –