Skip to main content

Interface: SprocResult<TRecords, TOut>

Defined in: src/procedure/StoredProcedureBuilder.ts:44

Simplified result returned by .output().query(), .output().queryMultiple(), and .output().run().

Encapsulates tabular record sets, strongly-typed output/INOUT parameters, integer return codes, and affected row counts across all supported database engines.

Example​

// MSSQL / MySQL / PostgreSQL / Oracle:
const { records, out, returnValue, rowsAffected } = await ctx
.procedure('usp_ProcessOrder')
.input({ CustomerId: 101, OrderTotal: 299.95 })
.output<{ OrderId: number; TrackingNumber: string }>()
.query<OrderSummary>();

console.log('Rows:', records); // OrderSummary[]
console.log('New ID:', out.OrderId); // number
console.log('Tracking:', out.TrackingNumber); // string
console.log('Return Code:', returnValue); // 0 = Success

Type Parameters​

Type ParameterDefault typeDescription
TRecordsvoidType of records returned in tabular query results (e.g. User[] or [OrderHeader[], OrderItem[]]).
TOut extends objectRecord<string, unknown>Interface of typed output parameters populated by the procedure (e.g. { GeneratedId: number; Status: string }).

Properties​

records​

records: TRecords

Defined in: src/procedure/StoredProcedureBuilder.ts:46

Typed record set(s) returned by the procedure SELECT statements.


out​

out: TOut

Defined in: src/procedure/StoredProcedureBuilder.ts:48

Strongly-typed output and INOUT parameter values returned by the database.


returnValue​

returnValue: number

Defined in: src/procedure/StoredProcedureBuilder.ts:50

Integer return value (SQL Server / MySQL RETURN statement). Defaults to 0.


rowsAffected​

rowsAffected: number

Defined in: src/procedure/StoredProcedureBuilder.ts:52

Number of rows modified or affected by DML commands executed within the procedure.