このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
特定のシナリオでは、上記のシンプルなコレクション操作ノードでは複雑な処理に対応できない場合があります。そのような場合、SQL ノードを直接使用して、データベースに複雑な SQL ステートメントを実行させ、データ操作を行うことができます。
アプリケーション外部でデータベースに直接接続してSQL操作を行う場合との違いは、ワークフロー内では、ワークフローのコンテキスト変数(プロセスコンテキストの変数)をSQLステートメントの一部パラメータとして利用できる点です。
組み込みのプラグインなので、インストールは不要です。
ワークフロー設定画面で、フロー内のプラス(「+」)ボタンをクリックし、「SQL アクション」ノードを追加します。


SQL を実行するデータソースを選択します。
データソースは、メインデータソース、PostgreSQL タイプなど、Sequelize 互換のデータベースタイプである必要があります。
SQL ステートメントを編集します。現在、1つのSQLステートメントのみがサポートされています。
エディタの右上にある変数ボタンを使用して必要な変数を挿入します。これらの変数は、実行前にテキスト置換によって対応する変数の値に置き換えられます。その後、置換されたテキストが最終的なSQLステートメントとしてデータベースに送信され、クエリが実行されます。
v1.3.15-beta 以降、SQL ノードの実行結果は純粋なデータで構成される配列となります。それ以前は、クエリのメタ情報を含む Sequelize のネイティブな戻り値構造でした(詳細は sequelize.query() を参照してください)。
例えば、以下のクエリの場合:
v1.3.15-beta 以前の結果:
v1.3.15-beta 以降の結果:
SELECT ステートメントを使用した場合、クエリ結果は Sequelize の JSON 形式でノードに保存されます。JSON-query プラグインを使用して解析し、利用することができます。
いいえ、トリガーしません。SQL アクションは、SQL ステートメントを直接データベースに送信して処理します。関連する CREATE / UPDATE / DELETE 操作はすべてデータベース内で発生します。一方、コレクションイベントは Node.js のアプリケーション層(ORM 処理)で発生するため、コレクションイベントはトリガーされません。