una tipos procedimientos procedimiento predefinidas funciones funcion excepciones ejemplos ejecutar developer bloques almacenado sql oracle ora-00001

sql - tipos - procedure oracle ejemplos



¿Dónde puedo encontrar una lista completa de las excepciones de Oracle pl/SQL predefinidas? (4)

¿Dónde puedo encontrar una lista completa de todas las excepciones de Oracle pl / SQL predefinidas?

En este link he encontrado esta lista, ¿hay más?

ACCESS_INTO_NULL ORA-06530 CASE_NOT_FOUND ORA-06592 COLLECTION_IS_NULL ORA-06531 CURSOR_ALREADY_OPEN ORA-06511 DUP_VAL_ON_INDEX ORA-00001 INVALID_CURSOR ORA-01001 INVALID_NUMBER ORA-01722 LOGIN_DENIED ORA-01017 NO_DATA_FOUND ORA-01403 NOT_LOGGED_ON ORA-01012 PROGRAM_ERROR ORA-06501 ROWTYPE_MISMATCH ORA-06504 SELF_IS_NULL ORA-30625 STORAGE_ERROR ORA-06500 SUBSCRIPT_BEYOND_COUNT ORA-06533 SUBSCRIPT_OUTSIDE_LIMIT ORA-06532 SYS_INVALID_ROWID ORA-01410 TIMEOUT_ON_RESOURCE ORA-00051 TOO_MANY_ROWS ORA-01422 VALUE_ERROR ORA-06502 ZERO_DIVIDE ORA-01476


Además de su pregunta: ¿cuál es el nombre de la excepción, aparece cuando aparece ORA-03135: connection lost contact error de ORA-03135: connection lost contact ? ¿Cómo puedo manejarlo?

La solución es definir una nueva excepción y asociarla con un código de error:

exception connection_error; pragma exception_init(connection_error, -3135); ... exception when connection_error then ...

http://download-west.oracle.com/docs/cd/B19306_01/appdev.102/b14261/exceptioninit_pragma.htm


Estos son para 11gr2, un análisis rápido dice que siguen siendo los mismos: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472/errors.htm#BABHDGGG

Esto es de $ ORACLE_HOME / rdbms / admin / stdspec.sql (un buen punto del paquete estándar de egorius es el lugar para buscar la respuesta)

/********** Predefined exceptions **********/ CURSOR_ALREADY_OPEN exception; pragma EXCEPTION_INIT(CURSOR_ALREADY_OPEN, ''-6511''); DUP_VAL_ON_INDEX exception; pragma EXCEPTION_INIT(DUP_VAL_ON_INDEX, ''-0001''); TIMEOUT_ON_RESOURCE exception; pragma EXCEPTION_INIT(TIMEOUT_ON_RESOURCE, ''-0051''); INVALID_CURSOR exception; pragma EXCEPTION_INIT(INVALID_CURSOR, ''-1001''); NOT_LOGGED_ON exception; pragma EXCEPTION_INIT(NOT_LOGGED_ON, ''-1012''); LOGIN_DENIED exception; pragma EXCEPTION_INIT(LOGIN_DENIED, ''-1017''); NO_DATA_FOUND exception; pragma EXCEPTION_INIT(NO_DATA_FOUND, 100); ZERO_DIVIDE exception; pragma EXCEPTION_INIT(ZERO_DIVIDE, ''-1476''); INVALID_NUMBER exception; pragma EXCEPTION_INIT(INVALID_NUMBER, ''-1722''); TOO_MANY_ROWS exception; pragma EXCEPTION_INIT(TOO_MANY_ROWS, ''-1422''); STORAGE_ERROR exception; pragma EXCEPTION_INIT(STORAGE_ERROR, ''-6500''); PROGRAM_ERROR exception; pragma EXCEPTION_INIT(PROGRAM_ERROR, ''-6501''); VALUE_ERROR exception; pragma EXCEPTION_INIT(VALUE_ERROR, ''-6502''); ACCESS_INTO_NULL exception; pragma EXCEPTION_INIT(ACCESS_INTO_NULL, ''-6530''); COLLECTION_IS_NULL exception; pragma EXCEPTION_INIT(COLLECTION_IS_NULL , ''-6531''); SUBSCRIPT_OUTSIDE_LIMIT exception; pragma EXCEPTION_INIT(SUBSCRIPT_OUTSIDE_LIMIT,''-6532''); SUBSCRIPT_BEYOND_COUNT exception; pragma EXCEPTION_INIT(SUBSCRIPT_BEYOND_COUNT ,''-6533''); -- exception for ref cursors ROWTYPE_MISMATCH exception; pragma EXCEPTION_INIT(ROWTYPE_MISMATCH, ''-6504''); SYS_INVALID_ROWID EXCEPTION; PRAGMA EXCEPTION_INIT(SYS_INVALID_ROWID, ''-1410''); -- The object instance i.e. SELF is null SELF_IS_NULL exception; pragma EXCEPTION_INIT(SELF_IS_NULL, ''-30625''); CASE_NOT_FOUND exception; pragma EXCEPTION_INIT(CASE_NOT_FOUND, ''-6592''); -- Added for USERENV enhancement, bug 1622213. USERENV_COMMITSCN_ERROR exception; pragma EXCEPTION_INIT(USERENV_COMMITSCN_ERROR, ''-1725''); -- Parallel and pipelined support NO_DATA_NEEDED exception; pragma EXCEPTION_INIT(NO_DATA_NEEDED, ''-6548''); -- End of 8.2 parallel and pipelined support /********** Add new exceptions here **********/


Las excepciones predefinidas se declaran en el paquete SYS.STANDARD, allí seguramente las encontrará todas.

En mi 9.2.0.7 encontré uno que no está en la lista:

USERENV_COMMITSCN_ERROR exception; pragma EXCEPTION_INIT(USERENV_COMMITSCN_ERROR, ''-1725'');


No_data_found ora-01403 too_many_rows ora-1422 zero_divide ora-1476 dup_val_on_index ora-00001 invalid_cursor ora-1001 cursor already_open ora-06511 invalid_number ora-01722 value_error ora-06502 ACCESS_INTO_NULL ORA-06530 CASE_NOT_FOUND ORA-06592 COLLECTION_IS_NULL ORA-06531