# Type rows in by hand

Acquire / generate

A variant of [Generate rows](https://meridian.online/operations/generate-rows).

Build a small table from values written into the step or query itself.

Page: <https://meridian.online/operations/generate-rows/type-rows-in-by-hand>

## Status

Runs as a SQL step.

arcform carries it as a `sql:` step today.

## The DuckDB step

write rows into the query with their types

```sql
CREATE TEMP TABLE result AS
SELECT id::INTEGER AS id, name::VARCHAR AS name, joined::DATE AS joined, score::DECIMAL(5, 2) AS score
FROM (VALUES (1, 'Ann', '2026-01-05', 9.5), (2, 'Bo', NULL, NULL), (3, 'Cy', '2026-03-09', 7.25)) t(id, name, joined, score);
SELECT * FROM result;
SELECT CASE WHEN ((SELECT list(column_type) FROM (DESCRIBE result)) = ['INTEGER', 'VARCHAR', 'DATE', 'DECIMAL(5,2)'] AND (SELECT count(*) = 3 AND count(joined) = 2 AND sum(score) = 16.75 AND max(joined) = DATE '2026-03-09' FROM result)) THEN 'as expected' ELSE error('the three typed rows were not built with an integer, text, date and decimal column and the one missing date and score') END AS verdict;
```

The statement builds its own data.

It needs nothing installed beyond DuckDB itself.

## What other tools call it

Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).

- Alteryx Designer: [`Text Input`](https://help.alteryx.com/current/en/designer/tools/in-out-tools/text-input-tool.html) (read 2026-09-27)
- Apache DataFusion: [`VALUES lists`](https://datafusion.apache.org/user-guide/features.html) (read 2026-09-27)
- DuckDB: [`VALUES (clause)`](https://duckdb.org/docs/current/sql/query_syntax/values) (read 2026-09-27)
- Duckle: [`Inline Rows`](https://github.com/slothflowlabs/duckle/blob/f85f8960edfb6efbf4cb89d58a7b32e16df0e867/frontend/src/workflow-ui/palette-data.ts) (read 2026-09-25)
- EasyMorph: [`Create list`](https://help.easymorph.com/doku.php?id=transformations:createlist) (read 2026-09-27)
- Apache Hop: [`Data Grid`](https://hop.apache.org/manual/latest/pipeline/transforms/datagrid.html) (read 2026-09-27)
- Ibis: [`DummyTable`](https://github.com/ibis-project/ibis/blob/05d2b293344e86cb41c1a426071734f7e270335a/ibis/expr/operations/relations.py) (read 2026-09-27)
- KNIME Analytics Platform: [`Table Creator`](https://api.hub.knime.com/nodes/*1b77m5y4nbX8OEmg?details=full) (read 2026-09-27)
- Pentaho Data Integration: [`Data Grid`](https://docs.pentaho.com/pdia-data-integration/9.3-data-integration/pdi-transformation-steps-reference-overview) (read 2026-09-27)
- Polars: [`select`](https://docs.pola.rs/api/python/stable/reference/expressions/functions.html) (read 2026-09-27)
- Power Query M: [`#table`](https://learn.microsoft.com/en-us/powerquery-m/table-functions#table-construction) (read 2026-09-27)
- RapidMiner Studio: [`Create ExampleSet`](https://docs.rapidminer.com/latest/studio/operators/utility/random_data_generation/create_exampleset.html) (read 2026-09-27)
- Talend: [`tFixedFlowInput`](https://help.qlik.com/talend/en-US/components/8.0/tfixedflowinput/tfixedflowinput-component) (read 2026-09-27)
- VisiData: [`open-new`](https://github.com/saulpw/visidata/blob/7609212ec2febafa9caba7183cbebfaf49627909/visidata/sheets.py#L1323) (read 2026-09-23)
