Control / script ยท All operations
Run SQL statements
A variant of Run a script
Send hand-written SQL or another database query language to a database, as a query, a command or a statement per row.
Status
- In arcform
Not built yet
arcform does not do this yet; it would live in how a Protocol runs. Its place on the roadmap
What other tools call it
Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).
Apache Hop (6)
Cassandra Exec Cqlread 2026-09-27Run one or more CQL statements on a Cassandra cluster
Execute SQL scriptread 2026-09-27Run a SQL script once or per row, with row values as parameters
Execute row SQL scriptread 2026-09-27Run a SQL script taken from a field for every input row
MongoDB QLread 2026-09-27Run MongoDB query-language scripts against a MongoDB connection
Neo4j Cypher scriptread 2026-09-27Run a script of Cypher statements against Neo4j
SQLread 2026-09-27Run SQL statements from the action or from a file
Azure Data Factory (2)
Azure Data Explorer Command activityread 2026-09-27Run Azure Data Explorer management commands from a pipeline
Script activityread 2026-09-27Run SQL data manipulation and data definition statements in a database
Bruin (2)
Duckle (2)
Inline SQLread 2026-09-25run a user SELECT with upstreams exposed as input CTEs
SQL Templateread 2026-09-25parameterised user SQL with context variables
EasyMorph (1)
Database commandread 2026-09-27Create, delete or truncate a database table, or send a custom SQL command
Ibis (1)
SQLQueryResultread 2026-09-27A table that is the result of a raw SQL SELECT sent to the backend
KNIME Analytics Platform (2)
DB Row Manipulatorread 2026-09-27Run a user-written INSERT, UPDATE or DELETE once per input row with that row's values
DB SQL Executorread 2026-09-27Execute custom SQL statements in the database
Pentaho Data Integration (2)
Execute Row SQL Scriptread 2026-09-27Run a SQL statement or file for every input row
Execute SQL Scriptread 2026-09-27Run a SQL script, optionally parameterised by input rows
Polars (1)
SQL table operations (group)read 2026-09-277 statements: CREATE TABLE, DELETE FROM, DROP TABLES, EXPLAIN, SHOW TABLES and others; manage the tables registered in a SQL context
RapidMiner Studio (4)
Custom Query (In Database)read 2026-09-27Insert a hand-written SQL query into an in-database chain
Execute CQLread 2026-09-27Run a CQL statement against a Cassandra or Astra database
Execute MongoDB Commandread 2026-09-27Run a user-specified command on a MongoDB instance
Execute SQLread 2026-09-27Run a SQL statement such as CREATE on a database; not for loading data
SQLMesh (1)
Pre/post-statementsread 2026-09-27SQL statements run before or after the model query, optionally gated by @IF
Tableau Prep (2)
Custom SQLread 2026-09-27Use a hand-written SQL query as the input table
Initial SQLread 2026-09-27Run a SQL command when the database connection opens, before data is loaded
Talend (4)
Database row (SQL statement) components (family)read 2026-09-2743 components running a stated SQL query or command: tMysqlRow, tOracleRow, tSnowflakeRow, tMongoDBRow
tIcebergSQLread 2026-09-27Run SQL queries on Iceberg tables managed by Polaris or Snowflake Open Catalog
tSQLTemplateread 2026-09-27Run standard or customised SQL statement templates, such as drop or create table, on a DBMS
tSqlRowread 2026-09-27Run SQL queries over input datasets registered as tables in Spark
Background
Structured Query Language (SQL) is a domain-specific language used to manage data, especially in a relational database management system.[1] SQL consists of many types of statements, which may be informally classed as data query, data definition, data control and data manipulation languages.[1] Azure Data Factory's Script activity runs a script of a single SQL statement or multiple SQL statements that run sequentially.[2]
When to use it
Azure Data Factory's Script activity can run data manipulation statements such as INSERT, UPDATE, DELETE and SELECT, and data definition statements such as CREATE, ALTER and DROP.[2] In Azure Data Factory, result sets a Script activity's query returns are available in the activity output, limited to 5000 rows or 4 MB.[2] Send hand-written SQL for the statement the pipeline's own steps cannot express, such as a database's own command; a step the tool already offers keeps its meaning visible to the tool. (Meridian's view)
SQL injection is a code injection technique in which malicious SQL statements are inserted into an entry field for execution.[3] In Apache Hop's Execute SQL script transform, input fields replace question marks in the SQL either as parameters bound through prepared statements or by literal string replacement.[4] A prepared statement separates the SQL code from the data, which reduces or eliminates SQL injection attacks.[5] When row values go into a statement, bind them as parameters rather than pasting them into the SQL text. (Meridian's view)
Apache Hop's Execute SQL script transform runs its script once, during the pipeline's initialisation, unless Execute for each row is set, which runs it once for every input row.[4] Apache Hop's Execute row SQL script transform does not use prepared statements and is not intended to work fast, and dedicated transforms such as Table Output and Update give better performance.[6]
The method
SQL, introduced in the 1970s, brought the concept of accessing many records with one single command, without having to specify how to reach a record.[1]
A prepared statement is a template sent to the database with certain values left unspecified as parameters, placeholders or bind variables, which the database compiles and stores without executing.[5] To run a prepared statement, the application binds values to its parameters, and may execute the statement many times with different values.[5] If a query is executed only once, a server-side prepared statement can be slower because of the additional round trip to the server.[5]
Apache Hop's Execute SQL script splits a script into statements at semicolons, unless Execute as a single statement is set, which sends the whole SQL to the database.[4] With Variable substitution set, Apache Hop's Execute SQL script replaces Hop variables such as ${table_name} in the SQL before the statement is executed.[4]
Sources
- [1]SQL - Wikipediasecondary source
- [2]Transform data by using the Script activity - Azure Data Factory & Azure Synapse | Microsoft Learndocumentation
- [3]SQL injection - Wikipediasecondary source
- [4]Execute SQL script | Apache Hopdocumentation
- [5]Prepared statement - Wikipediasecondary source
- [6]Execute row SQL script | Apache Hopdocumentation