Use

You should use a non-standard operation for a database operation which is too complex for any of the above operations and which does not retrieve multiple records. Examples of such operations are:

The developer must specify the SQL to be executed and can specify zero or many parameters for the operation. All parameters must be structs and must be flat, i.e. they cannot aggregate other structs.

The handcrafted SQL can perform any database operation provided that a cursor is not required. This includes single-record-reads, single or multiple record updates and deletes, and joins across multiple database tables. This is because the parameter structs cannot aggregate other structs. If your handcrafted SQL requires a cursor then an nsmulti operation should be used.