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-27

    Run one or more CQL statements on a Cassandra cluster

  • Execute SQL scriptread 2026-09-27

    Run a SQL script once or per row, with row values as parameters

  • Execute row SQL scriptread 2026-09-27

    Run a SQL script taken from a field for every input row

  • MongoDB QLread 2026-09-27

    Run MongoDB query-language scripts against a MongoDB connection

  • Neo4j Cypher scriptread 2026-09-27

    Run a script of Cypher statements against Neo4j

  • SQLread 2026-09-27

    Run SQL statements from the action or from a file

Azure Data Factory (2)
Bruin (2)
  • hooksread 2026-09-27

    SQL snippets run before or after the main query of a SQL asset

  • queryread 2026-09-27

    Run a query on a connection and return the result as a table, JSON or CSV

Duckle (2)
  • Inline SQLread 2026-09-25

    run a user SELECT with upstreams exposed as input CTEs

  • SQL Templateread 2026-09-25

    parameterised user SQL with context variables

EasyMorph (1)
  • Database commandread 2026-09-27

    Create, delete or truncate a database table, or send a custom SQL command

Ibis (1)
  • SQLQueryResultread 2026-09-27

    A table that is the result of a raw SQL SELECT sent to the backend

KNIME Analytics Platform (2)
  • DB Row Manipulatorread 2026-09-27

    Run a user-written INSERT, UPDATE or DELETE once per input row with that row's values

  • DB SQL Executorread 2026-09-27

    Execute custom SQL statements in the database

Pentaho Data Integration (2)
Polars (1)
  • 7 statements: CREATE TABLE, DELETE FROM, DROP TABLES, EXPLAIN, SHOW TABLES and others; manage the tables registered in a SQL context

RapidMiner Studio (4)
  • Insert a hand-written SQL query into an in-database chain

  • Execute CQLread 2026-09-27

    Run a CQL statement against a Cassandra or Astra database

  • Run a user-specified command on a MongoDB instance

  • Execute SQLread 2026-09-27

    Run a SQL statement such as CREATE on a database; not for loading data

SQLMesh (1)
  • Pre/post-statementsread 2026-09-27

    SQL statements run before or after the model query, optionally gated by @IF

Tableau Prep (2)
  • Custom SQLread 2026-09-27

    Use a hand-written SQL query as the input table

  • Initial SQLread 2026-09-27

    Run a SQL command when the database connection opens, before data is loaded

Talend (4)
  • 43 components running a stated SQL query or command: tMysqlRow, tOracleRow, tSnowflakeRow, tMongoDBRow

  • tIcebergSQLread 2026-09-27

    Run SQL queries on Iceberg tables managed by Polaris or Snowflake Open Catalog

  • tSQLTemplateread 2026-09-27

    Run standard or customised SQL statement templates, such as drop or create table, on a DBMS

  • tSqlRowread 2026-09-27

    Run 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]