あるデータベースから別のデータベースにテーブルをコピーする必要があります。私の最初の推測は、ソース コードから次のステートメントを使用することでした。
SELECT *
INTO TARGETDB.SCHEMA.TABLENAME
FROM SCHEMA.TABLENAME
(編集:主キーなどを設定しないことはわかっていますが、それで問題ありません)
悲しいことに、私のプロジェクトで使用しなければならないクラスは、このステートメントをほとんど破壊しており、それを回避する可能性はありません.
次のアイデアは、SQL Server データベースに関数またはプロシージャを作成することでした。
SCHEMA.FUNCTNAME paramTARGETDB, paramTABLENAME
私のコードからのステートメントとして。
私の現在の手順は次のようになります。
CREATE PROCEDURE [SCHEMA].FUNCTNAME
@pVC_TARGETDB VARCHAR(240),
@pVC_TABLENAME VARCHAR(240)
AS
BEGIN
SELECT *
INTO @pVC_TARGETDB.SYSADM.@pVC_TABLENAME
FROM SCHEMA.@pVC_TABLENAME
END
しかし、SQL に関する私の知識はそれほど大きくなく、SQL Server Management Studio は構文エラーがあることを教えてくれます。すべて@pVC_*
がマークされています (編集: 最初の 2 つの出現では、マークされていません。BEGIN と END の間のブロックのみ)。私が受け取るメッセージは次のとおりです。
「@pVC_* 付近の構文エラー ID、QUOTED_ID または '.' が必要です。」
想像できる、またはGoogleで見つけられるほぼすべての書き方を試しましたが、簡単に解決できるかもしれませんし、そうでないかもしれません。できませんでした、助けてください。