isc_dsql_execute_immediate()
Prepares and executes just once a DSQL statement that does not return data. There is a
special case of isc_dsql_execute_immediate() for creating databases.
Syntax
ISC_STATUS isc_dsql_execute_immediate(
ISC_STATUS *status_vector,
isc_db_handle *db_handle,
isc_tr_handle *trans_handle,
unsigned short length,
char *statement,
unsigned short dialect,
XSQLDA *xsqlda);
Note In the special case where the statement is CREATE DATABASE, there is no transaction, so db_handle and trans_handle must be pointers to handles whose value is NULL. When isc_dsql_execute_immediate() returns, db_handle is a valid handle, just as though you had made a call to isc_attach_database().
Parameter Type Description
status_vector ISC_STATUS * Pointer to the error status vector
db_handle isc_db_handle *
• If statement is not CREATE DATABASE, this is a pointer to a database
handle set by a previous call to isc_attach_database(); db_handle
returns an error in status_vector if it is NULL
• If statement is CREATE DATABASE, this must point to a database
handle whose value is NULL
trans_handle isc_tr_handle *
• If statement is not CREATE DATABASE, this is a pointer to a
transaction handle whose value has been set by a previous
isc_start_transaction() call; trans_handle returns an error if NULL
• If statement is CREATE DATABASE or SET TRANSACTION, this must point
to a transaction handle whose value is NULL length unsigned short Length of the DSQL statement in bytes; set to 0 in C programs to indicate a null-terminated string
Partager