2023年2月28日
前回の「ここi」では猫のぐりさんがお届けする「ぐりちゃんねる」をご紹介しましたが、そこで紹介しているコードがGitHubでダウンロードできるということは、YouTube動画と併せていかにも今風な取り組みであるといえるでしょう。
今回はちょっと海外にも目を向けてみましょう。
IBMの「IBM Support」ページはマニュアル以外の様々な技術情報が掲載されており大変参考になるのですが、その中で、たくさんのIBM i のSQLサンプルコードが掲載されているのはご存じでしょうか?
筆者はScott Forstie氏。IBM社員でDB2 for i のエキスパートとして、海外ではCOMMON(ユーザー会)での講演や様々なブログ記事でも有名な人です。
「SQL Examples」 https://www.ibm.com/support/pages/node/6347660?myns=swgother&mynp=OCSWG60&mync=E&cm_sp=swgother-_-OCSWG60-_-E

このページには実に75種ものSQLサンプルが掲載されています。例えば、「読み取り専用のSQLビューを構築する方法」とか「SQLを使って2つのスプールファイルの中身を比較する方法」「メッセージ待機 (MSGW) ステータスで 90 分以上スタックしているジョブを検索するクエリ」「SQL を使用して、誰が最も多くのオブジェクトを所有しているかを理解する方法」などなど、様々なサンプルへのリンクが掲載されています。リンクをクリックすると、実際のソースコードが公開されているGitHubのGist(GitHubの提供している断片コードの共有サービスのこと)へ飛んでいきます。
「英語は苦手で」とおっしゃる方も、サンプルコードであればさほど労せず読みこなせるのではないでしょうか?
IBM i の世界では、AS/400時代からの慣習で物理ファイル、論理ファイルを使われているケースがまだまだ多いようですが、今後開発の中心はSQLに移行しつつあります。SQLであれば、例えば「今現在アクティブなユーザーのジョブ数をカウントし、カウント数の多い順でリストする」(サンプルあり)といったシステム管理系の作業も簡単にできるようになっています。SQLのパフォーマンスがあまりよろしくないと言っていたのは今や昔の話。現在では機能拡張はすべてSQLにおいてのみ為され、もちろん既存の物理ファイル、論理ファイルとも共存可能です。
この機会にぜひサンプルコードを見ながらSQLを勉強してみませんか?
ちなみに、この「SQL Examples」の親トピックスは「IBM i Tutorials, Demos, and SQL examples」となっており、SQLのサンプルのほかにも、ACSやIBM i サービス、Db2 for i Services、セキュリティ、といったトピックスごとにまとめられた自習教材やGitHub Gistのサンプルコードなどが公開されています。興味のある方はぜひブラウザの翻訳機能などを駆使しながらアクセスしてみてください。
https://www.ibm.com/support/pages/ibm-i-tutorials-demos-and-sql-examples-0