Esta documentación ha sido traducida automáticamente por IA.
Acción SQL
Workflow: Nodo SQLCommunity Edition+Introducción
En algunos escenarios especiales, los nodos de acción de colección simples que hemos visto pueden no ser suficientes para operaciones complejas. En su lugar, puede usar directamente el nodo SQL para que la base de datos ejecute sentencias SQL complejas y manipule los datos.
La principal diferencia con realizar operaciones SQL conectándose directamente a la base de datos desde fuera de la aplicación es que, dentro de un flujo de trabajo, usted puede utilizar variables del contexto del proceso como parámetros en la sentencia SQL.
Instalación
Es un plugin integrado, por lo que no requiere instalación.
Crear Nodo
En la interfaz de configuración del flujo de trabajo, haga clic en el botón de más ('+') dentro del flujo para añadir un nodo de 'Acción SQL':

Configuración del Nodo

Fuente de Datos
Seleccione la fuente de datos donde se ejecutará la sentencia SQL.
La fuente de datos debe ser de tipo base de datos, como la fuente de datos principal, PostgreSQL u otras fuentes de datos compatibles con Sequelize.
Contenido SQL
Edite la sentencia SQL. Actualmente, solo se admite una sentencia SQL.
Desde v2.0.30, por razones de seguridad, la sustitución directa de variables por texto en las sentencias SQL ya no está soportada. En su lugar, deben usarse consultas parametrizadas.
Las variables del contexto del proceso se pueden usar en las sentencias SQL, pero deben especificarse con el formato :variableName, por ejemplo:
Lista de Parámetros
En la sentencia SQL anterior, :userId es un marcador de posición. La sustitución de los marcadores debe configurarse en la "Lista de Parámetros". El nombre de la variable usa el nombre del marcador, por ejemplo userId, y el valor se puede seleccionar del contexto del proceso mediante el selector de variables.
Resultado de la Ejecución del Nodo
A partir de la versión v1.3.15-beta, el resultado de la ejecución de un nodo SQL es un array de datos puros. Antes de esta versión, era la estructura de retorno nativa de Sequelize que contenía metadatos de la consulta (consulte: sequelize.query()).
Por ejemplo, la siguiente consulta:
Resultado antes de v1.3.15-beta:
Resultado después de v1.3.15-beta:
Preguntas Frecuentes
¿Cómo se utiliza el resultado de un nodo SQL?
Si se utiliza una sentencia SELECT, el resultado de la consulta se guardará en el nodo en formato JSON de Sequelize. Puede ser analizado y utilizado con el plugin JSON-query.
¿La acción SQL activa eventos de colección?
No. La acción SQL envía la sentencia SQL directamente a la base de datos para su procesamiento. Las operaciones relacionadas (CREATE, UPDATE, DELETE) ocurren directamente en la base de datos, mientras que los eventos de colección se gestionan en la capa de aplicación de Node.js (a través del ORM). Por esta razón, no se activarán los eventos de colección.

