2 Отдельные вопросы.
Я использую этот сценарий для удаления таблицы [решено]
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE_NAME';
DBMS_OUTPUT.PUT_LINE ('Global table TABLE_NAME Dropped'); {{ 1}} ИСКЛЮЧЕНИЕ
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE ('Глобальная таблица TABLE_NAME не существует.');
END;
/ {{1 }}
Могу ли я как-нибудь различить, если таблица «не существует» или она используется в каких-то других сеансах (в этом случае она будет заблокирована и не может быть удалена). Я не уверен, что эта таблица существует в user_tables. Я не полностью осведомлен о разрешениях.
Я добавил этот код сейчас
WHEN OTHERS THEN
i_code := SQLCODE;
v_errm := SUBSTR(SQLERRM, 1, 64);
if i_code = -942 THEN
DBMS_OUTPUT.PUT_LINE ('TABLE_NAME doesn''t exist. Script will continue to create it');
ELSE
DBMS_OUTPUT.PUT_LINE ('Error dropping temporary table. The error code is ' || i_code || '- ' || v_errm);
END IF ;
2. Я вижу . в конце каждой подобной процедуры
END PROCEDURE_NAME;
.
/
sho err;
Я просто не понимаю, почему . здесь. Это синтаксис или что?