# Read MOI Table

Read an MOI table from Catalog and return structured rows for saving or external requests.

For filtering, aggregation, or joins, use [SQL Processing](../code-processing/sql-processing.md).

## Configure reading

| Setting | Description |
| --- | --- |
| Table | Required; select from the current workspace Catalog; runtime input: `table_ref` |
| Row limit | Optional nonnegative integer; a positive value limits rows queried |
| Timeout in seconds | Optional nonnegative integer for the read timeout |

The table picker supplies the complete `table_ref`, which identifies the database and table.

A row limit of 0 adds no query limit, but server-side result limits still apply.

## Use the output

`rows` is an array of objects keyed by column name. Bind it to the rows input of Save to MOI Table. `table_ref` retains the source reference; `database`, `table_name`, and `sql` let you check the target.

`truncated` indicates whether results were truncated; `elapsed_ms` reports execution time. The returned row count covers only this result set.

## Example: copy a small sample

Flow: Read MOI Table → Save to MOI Table.

Select the source, set the row limit to 100, and bind `rows` to another target table. Check column names, destination, and affected row count.

## Related pages

- [Variables and data flow](../../variables-and-data.md)
- [Run and debug](../../run-debug.md)
