|
|||||||
Single Exception Handler for Multiple Exceptions
Время создания: 22.10.2017 09:43
Раздел: PL/SQL - Задачник - Exceptions
Запись: xintrea/mytetra_db_mcold/master/base/1508654598rigjsvcrek/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
CREATE OR REPLACE PROCEDURE select_item ( t_column VARCHAR2, t_name VARCHAR2 ) AUTHID DEFINER IS temp VARCHAR2(30); BEGIN temp := t_column; -- For error message if next SELECT fails
-- Fails if table t_name does not have column t_column:
SELECT COLUMN_NAME INTO temp FROM USER_TAB_COLS WHERE TABLE_NAME = UPPER(t_name) AND COLUMN_NAME = UPPER(t_column);
temp := t_name; -- For error message if next SELECT fails
-- Fails if there is no table named t_name:
SELECT OBJECT_NAME INTO temp FROM USER_OBJECTS WHERE OBJECT_NAME = UPPER(t_name) AND OBJECT_TYPE = 'TABLE';
EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE ('No Data found for SELECT on ' || temp); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE ('Unexpected error'); RAISE; END; / Invoke procedure (there is a DEPARTMENTS table, but it does not have a LAST_NAME column): BEGIN select_item('departments', 'last_name'); END; / Result: No Data found for SELECT on departments Invoke procedure (there is no EMP table): BEGIN select_item('emp', 'last_name'); END; / Result: No Data found for SELECT on emp |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|