私はdb Aとdb Bを持っています。ストアドプロシージャの開始時に、B.mytable
からB.mytablebackup
にすべての行をバックアップしたいと思います。残りのストアドプロシージャは、データベースAのテーブル(データを収集してB.mytable
に書き込みます)に対して実行されます。別のSQLデータベースからテーブルの存在を確認するには?
だから私はB.mytablebackup
が
IF EXISTS(SELECT 1 FROM B.dbo.mytablebackup)
が存在するかどうかを確認し、それがない場合は、それはそれは
SELECT * INTO B..mytablebackup from B..mytable
ない存在しない場合は、ストアドプロシージャが
INSERT INTO B..mytablebackup SELECT * FROM B..mytable
を行います
しかし、ストアドプロシージャを実行するとエラーが発生します
私は
に「mytablebackup」という名前のオブジェクトがすでに存在しています。
私は間違っていますか?
*** SQL ***は、多くのデータベースシステムで使用される言語ですが、データベース製品ではありません。多くのものはベンダー固有のものです。どのような**データベースシステム**(およびどのバージョン)を使用していますか(それに応じてタグを更新してください).... –
@marc_s 'db.schema.tbl'フォーマットに基づくMSSQLだと思います。 – Kermit
' IF EXISTS (SELECT 1 FROM B.dbo.mytablebackup) '' mytablebackup'の中に少なくとも1行*があるかどうかを調べます。テーブル自体が存在するかどうかはわかりません*(テーブルが存在しない場合、コンパイルエラーが発生します) –