メニューボタン
IBMi海外記事2022.01.26

「SQLスクリプトの実行」に備わる、別のコンテンツ アシスト機能

Paul Tuohy 著

「SQLスクリプトの実行」に、Selectステートメント向けのコンテンツ アシスト(プロンプト)機能が備わっていることは、今では皆さんもよくご存じのことと思われます(「 ACS 1.1.8.3のContent AssistのSQLプロンプト機能 」を参照)。しかし、ストアード プロシージャー、表関数、およびパラメーターにも、コンテンツ アシスト機能を利用できることはご存じだったでしょうか。IBM i サービスによって提供される、IFS(統合ファイル システム)プロシージャーおよび関数のいくつかを使用して、どのように機能するのか見てみましょう。

ストアード プロシージャーをプロンプトする

「SQLスクリプトの実行」を開いて、以下を入力します。

call qsys2.

次いで、F4(またはCtrl+Space)を押します。QSYS2スキーマ内のすべてのストアード プロシージャーのリストが表示されます。

フォルダ

これは非常に長いリストであるため、「 ifs」と入力して、IFSプロシージャーのみに絞り込みます。これでリストが短くなり、名前の先頭が「IFS」という文字であるプロシージャーのみになります。

フォルダ

ここでは、IFS_WRITEを使用したいので、そのままEnterを押します。スクリプトが、選択したプロシージャー名で更新されます。次いで、開き括弧と閉じ括弧を追加して、括弧の間にカーソルを置くと、パラメーターをプロンプトできるようになります。

ストアード プロシージャーのパラメーターをプロンプトする

パラメーターをプロンプトする方法について見て行く前に、SQLプロシージャーおよび関数のパラメーターに関して、あることをはっきりさせておきたいと思います。気付いていない人も多いように思われます。構文は異なりますが、SQLプロシージャーおよびパラメーターは、システム コマンドと動作のしかたが同じです。すなわち、それらは定位置形式で入力することも、パラメーター キーワード形式で指定することもできるということです。

2つの括弧の間にカーソルを置いてF4を押すと、そのストアード プロシージャーのパラメーターのリストが表示されます。

フォルダ

パラメーターのリスト内でカーソルを移動すると、右側のペインに、そのパラメーターに指定する必要がある項目に関する詳細情報が表示されます(プロシージャーの作成者が適切にコメントを記述してある場合)。

フォルダ

表示される情報には細心の注意を払う必要があります。Defaultキーワードがないということは(PATH_NAMEパラメーターのように)、それが必須パラメーターであることを示しています。

必須パラメーターと、他に値を変更したいパラメーターがあればそれを選択します。

フォルダ

Enterを押すと、スクリプトがパラメーターの名前で更新されます。

call qsys2.IFS_WRITE(PATH_NAME => , LINE => , FILE_CCSID => )

後は、パラメーターの値を指定して、ステートメントを実行するだけです。

call qsys2.IFS_WRITE(PATH_NAME => '/home/TUOHYP/myFile.txt', 
                     LINE => 'This is some text', 
                     FILE_CCSID => 1208);

表関数をプロンプトする

表関数のプロンプトも非常に簡単です。以下を入力します。

select * from table(qsys2.ifs

F4を押すと、スキーマQSYS2内の、「IFS」という文字で始まる表関数のリストが表示されます。

フォルダ

使用する表関数を選択し、括弧の間にカーソルを置いてF4を押すと、利用可能なパラメーターのリストが表示されます。

フォルダ

必須パラメーターと、他に値を変更したいパラメーターがあればそれを選択します。Enterを押すと、スクリプトがパラメーターの名前で更新されます。

select * from table(qsys2.IFS_READ(PATH_NAME => ))

後は、パラメーターの値を指定して、以下のステートメントを実行するだけです。

select * from table(qsys2.IFS_READ(PATH_NAME => '/home/TUOHYP/myFile.txt'));

SQLプロシージャー/関数、および特にそれらのパラメーターをプロンプトする機能は、極めて有用だと思います。

あわせて読みたい記事

PAGE TOP