私はの線に沿って何かやろうとしている:仕事でSQLのIF文内で[データベース]トランザクションを使用するにはどうすればよいですか?
IF(@@SERVERNAME = 'SERVER1')
BEGIN
USE Appt
END
IF(@@SERVERNAME = 'SERVER2')
BEGIN
USE ApptDEMO
END
を、生産のための私達のデータベースは"Appt"
ですが、テスト環境のための1つが"ApptDEMO."
である彼らは同じことだが、彼らがしています異なった名前を付けました。
"Appt"
と"ApptDEMO"
の両方が存在するため、テスト環境で正常に動作します("Appt"
を使用していません)。 しかし、実際には「ApptDEMO」は存在しないと私に伝えています。
異なる環境にx個の異なるスクリプトを作成する必要がないスクリプトを作成したいとします。 これは可能ですか?
ありがとうございます。
私が知っている限り、SQLがUSE文を処理する方法のために動的SQLを実行しなければ、これを行うことはできません。 USE文も、実行されたバッチにスコープが設定されています。 「テストで正常に動作します」 - テストで正常に実行されるものは何ですか?スクリプト? スクリプトは何をしますか?あなたは他のSQL機能の使用を検討しましたか(おそらくSYNONYMSがここにお手伝いできますか?)。あなたが望むものを達成するためのよりよい方法があれば、ちょうど解決しようとしています。 – Charleh
私は@Charlehに同意します。これは同義語を使用する主要な例のようです。 https://msdn.microsoft.com/en-us/library/ms187552.aspx –
(私はこのサイトを初めて利用しています...笑) すみません、皆様にお返事いただきありがとうございます!私はSYNONYMSを調べて、それが私を助けてくれるかどうかを調べるつもりです! –