/usr/share/doc/firebird/sql.extensions
------------------ Exception handling ------------------ The common syntax rules for EXCEPTION statement is: EXCEPTION [[name] [value]]; Run-time exception messages (FB 1.5) ------------------------------------ Function: Allows to throw exceptions with text message defined at runtime. Author: Dmitry Yemanov <yemanov@yandex.ru> Syntax rules: EXCEPTION <exception_name> <message_value>; Scope: PSQL Example(s): 1. EXCEPTION E_EXCEPTION_1 'Error!'; 2. EXCEPTION E_EXCEPTION_2 'Wrong type for record with ID=' || new.ID; Exception re-raise semantics (FB 1.5) ------------------------------------- Function: Allows to re-initiate catched exception. Author: Digitman <digitman@hotbox.ru> Syntax rules: EXCEPTION; Scope: PSQL, context of the exception handling block Example(s): BEGIN ... WHEN SQLCODE -802 DO EXCEPTION E_ARITH_EXCEPT; WHEN SQLCODE -802 DO EXCEPTION E_KEY_VIOLATION; WHEN ANY DO EXCEPTION; END Note(s): Evaluates to no-op if used outside the exception handling block. Parameterized exceptions (FB 3.0) --------------------------------- Function: Allow to define exception message with slots for parameters and pass the parameters when raising the exception. Author: Adriano dos Santos Fernandes <adrianosf at gmail.com> Syntax: EXCEPTION <name> USING ( <value list> ) Example: create exception e_invalid_val 'Invalid value @1 for the field @2'; ... if (val < 1000) then thing = val; else exception e_invalid_val using (val, 'thing'); end Notes: The maximum number of arguments passed is 9. In the exception message, @NN (example: @10) is considered as @1 followed by the literal 0. The status vector is generated using these codes combination: isc_except, <exception number>, isc_formatted_exception, <formatted exception message>, <exception parameters> Since new error code (isc_formatted_exception) is used, it's necessary that the client is v3.0 or at least uses firebird.msg from v3.0 so that it can translate the status vector to string. @N means the N parameter (where N starts at 1) passed in the exception raise command. If a N parameter is not passed, the text is not substituted. If NULL is passed, it's replaced by string '*** null ***'. If more parameters are passed than used in the exception message, they are ignored.
.
Edit
..
Edit
README.PSQL_stack_trace.txt
Edit
README.aggregate_filter.md
Edit
README.aggregate_tracking
Edit
README.alternate_string_quoting.txt
Edit
README.autonomous_transactions.txt
Edit
README.blob_append.md
Edit
README.builtin_functions.txt
Edit
README.case
Edit
README.coalesce
Edit
README.column_type_psql.txt
Edit
README.common_table_expressions
Edit
README.context_variables
Edit
README.context_variables2
Edit
README.cumulative_roles.txt
Edit
README.current_time
Edit
README.cursor_variables.txt
Edit
README.cursors
Edit
README.data_type_results_of_aggregations.txt
Edit
README.data_types
Edit
README.db_triggers.txt
Edit
README.ddl.txt
Edit
README.ddl_access.txt
Edit
README.ddl_triggers.txt
Edit
README.default_parameters
Edit
README.derived_tables.txt
Edit
README.distinct
Edit
README.domains_psql.txt
Edit
README.exception_handling
Edit
README.execute_block
Edit
README.execute_statement
Edit
README.execute_statement2
Edit
README.explicit_locks
Edit
README.expression_indices
Edit
README.external_connections_pool
Edit
README.floating_point_types.md
Edit
README.global_temporary_tables
Edit
README.hex_literals.txt
Edit
README.identity_columns.txt
Edit
README.iif
Edit
README.isc_info_xxx
Edit
README.joins.txt
Edit
README.keywords
Edit
README.leave_labels
Edit
README.length
Edit
README.linger
Edit
README.list
Edit
README.management_statements_psql.md
Edit
README.mapping.html
Edit
README.merge.txt
Edit
README.null_value
Edit
README.nullif
Edit
README.offset_fetch.txt
Edit
README.order_by_expressions_nulls
Edit
README.packages.txt
Edit
README.plan
Edit
README.regr_functions.txt
Edit
README.returning
Edit
README.rows
Edit
README.savepoints
Edit
README.scrollable_cursors.txt
Edit
README.select_expressions
Edit
README.sequence_generators
Edit
README.set_bind.md
Edit
README.set_role
Edit
README.set_transaction.txt
Edit
README.similar_to.txt
Edit
README.sql_security.txt
Edit
README.statistical_functions.txt
Edit
README.subroutines.txt
Edit
README.substring_similar.txt
Edit
README.time_zone.md
Edit
README.trim
Edit
README.universal_triggers
Edit
README.update_or_insert
Edit
README.user_management
Edit
README.view_updates
Edit
README.window_functions.md
Edit