Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie
In sommige specifieke scenario's zijn de eenvoudige collectie-actieknooppunten mogelijk niet toereikend voor complexe bewerkingen. In dergelijke gevallen kunt u direct het SQL-knooppunt gebruiken om de database complexe SQL-statements te laten uitvoeren voor gegevensmanipulatie.
Het verschil met het direct verbinden met de database voor SQL-bewerkingen buiten de applicatie, is dat u binnen een workflow variabelen uit de procescontext kunt gebruiken als parameters in het SQL-statement.
Dit is een ingebouwde plugin, installatie is niet nodig.
In de workflow-configuratie-interface klikt u op de plusknop ('+') in de flow om een 'SQL-actie'-knooppunt toe te voegen:


Selecteer de gegevensbron waarop de SQL wordt uitgevoerd.
De gegevensbron moet van het type database zijn, zoals de hoofdgegevensbron, PostgreSQL of andere Sequelize-compatibele gegevensbronnen.
Bewerk het SQL-statement. Momenteel wordt slechts één SQL-statement ondersteund.
Via de variabeleknop rechtsboven in de editor voegt u de benodigde variabelen in. Deze variabelen worden vóór uitvoering via tekstvervanging vervangen door hun corresponderende waarden. De resulterende tekst wordt vervolgens gebruikt als het uiteindelijke SQL-statement en naar de database gestuurd voor bevraging.
Sinds v1.3.15-beta is het resultaat van een SQL-knooppuntuitvoering een array van pure data. Daarvoor was het de native Sequelize-retourstructuur die query-metadata bevatte (zie: sequelize.query()).
Bijvoorbeeld, de volgende query:
Resultaat vóór v1.3.15-beta:
Resultaat ná v1.3.15-beta:
Als een SELECT-statement wordt gebruikt, wordt het queryresultaat in JSON-formaat van Sequelize opgeslagen in het knooppunt. Het kan worden geparseerd en gebruikt met de JSON-query plugin.
Nee. De SQL-actie stuurt het SQL-statement direct naar de database voor verwerking. De gerelateerde CREATE / UPDATE / DELETE-bewerkingen vinden plaats in de database, terwijl collectie-events plaatsvinden op de applicatielaag van Node.js (verwerkt door de ORM), daarom worden collectie-events niet geactiveerd.