Skip to main content

read

Use read to retrieve a row from a specified table by its key. You can optionally specify a subset of columns to return.

Basic syntax​

To read an entire row from a table, use the following syntax:

(read table key)

To read specific columns from a row in a table, use the following syntax:

(read table key columns)

Arguments​

Use the following arguments to specify the table, key, and optional columns when using the read Pact function.

ArgumentTypeDescription
tabletable: <{row}>Specifies the table from which to read the row. In the table schema, a row represents the structure of each row in the table.
keystringSpecifies the key of the row to read from the table.
columns[string]Specifies one or more column names to return from the row. If not provided, the entire row is returned (optional).

Return value​

The read function returns an object representing the requested row or columns from the specified table.

  • If you don't specify one or more columns as parameters, the function returns an object with the structure of the entire row.
  • If you specify one or more columns as parameters, the function returns an object containing only the specified columns from the row.

Examples​

he following example demonstrates defining a table schema for an accounts table that stores information about bank accounts, including the balance, currency, and owner of each account:

(defschema account
balance:decimal
currency:string
owner:string)

(deftable accounts:{account})

You can then use the read function to read a row from the accounts table by its key id and retrieve only the balance and currency columns:

(read accounts id ['balance 'currency])