ストアド プロシージャ、テーブル定義、挿入ステートメントなどをすべて保持するテキスト ファイルがたくさんあります。たとえば、5 つのファイルがある場合、次のように 5 行すべてのコードを入力する必要があります。
\. C:/project/1.sql
\. C:/project/2.sql
\. C:/project/3.sql
\. C:/project/4.sql
\. C:/project/5.sql
さて、これを回避して、 main.sqlのような別のテキスト ファイルを作成し、そこに 5 行のコードをすべて配置します。これらの 5 つのファイルを実行したい場合は、次の単純な行を入力するだけで済みます。
\. C:/project/main.sql
しかし、これに関する問題は、これらすべてのファイルを別の場所に移動するか、それらが保存されているフォルダーの名前を単に変更すると、5 行すべてのパス文字列を変更する必要があることです。たとえば、フォルダーprojectの場所をprojects/application1/のような場所に変更した場合、事実上すべてを再入力する必要があります。
\. C:/projects/application1/1.sql
\. C:/projects/application1/2.sql
\. C:/projects/application1/3.sql
\. C:/projects/application1/4.sql
\. C:/projects/application1/5.sql
さて、問題は、すでにお察しのとおり、ファイルを移動したい場合にコードを 1 行変更するだけで済むように、この問題をすべて解決する方法です。私はこのようなことを試しましたが、うまくいきませんでした:
SET @PATH = 'C:/projects/application1/';
\. SELECT CONCAT(@PATH, 1.sql)
\. SELECT CONCAT(@PATH, 2.sql)
\. SELECT CONCAT(@PATH, 3.sql)
\. SELECT CONCAT(@PATH, 4.sql)
\. SELECT CONCAT(@PATH, 5.sql)