データベース命令を実行するには、DBM コマンド db_executeを使用します。この作業に必要なデータベースセッションは、データベース命令の実行中にデータベースマネージャによって暗黙的に開始され、終了します。データベースセッションを暗黙的に開くために、最初の DBM ユーザのデータがデータベースマネージャで使用されます。そのため、最初の DBM ユーザに権限が与えられているデータベース命令のみをこの方法で実行することができます。
このデータベースセッションは、常に AUTOCOMMIT モードで開かれます。したがって、実行された SQL 文はCOMMIT 命令で自動的に終了するため、ROLLBACK命令によるロールバックはできなくなります。
db_execute を使用すると、生成される結果セットが応答パッケージのサイズ (約 16 KB) を超える場合があります。出力の最後にキーワード CONTINUE が表示される場合は、データレコードがさらに存在し、呼出可能であることを示しています。この場合は、一連のデータベース命令の実行の手順に従ってください。そのデータベースセッションでデータベース命令を追加実行し、結果セットの残りの部分を照会する必要があります。
必要な場合は、結果セットの表示を出力全体からレコードごとに切り替えることができます。この場合もそのデータベースセッションでデータベース命令を追加実行する必要があるため、一連のデータベース命令の実行の手順に従ってください。
前提条件について確認するには、データベースマネージャ CLIの db_executeを参照してください。
参照:
テーブル users の内容を照会するSQL 文を実行し、その応答でデータレコードの最大可能数を表示します。
パスワードに MONDAY を指定してユーザ OLEGとしてデータベースマネージャ CLI にログオンし、データベースインスタンス DEMODBに接続します。テーブル users の内容 (ユーザ名、接続モード、ユーザ ID) を照会する SQL 文を実行します。
>dbmcli -u OLEG,MONDAY -d DEMODB db_execute SELECT username,connectmode,user_id from users
OK
END
'DBM';'MULTIPLE';22
'OLEG';'MULTIPLE';0
'DBADMIN';'MULTIPLE';10
'MONA';'MULTIPLE';24