Logo video2dn
  • Сохранить видео с ютуба
  • Категории
    • Музыка
    • Кино и Анимация
    • Автомобили
    • Животные
    • Спорт
    • Путешествия
    • Игры
    • Люди и Блоги
    • Юмор
    • Развлечения
    • Новости и Политика
    • Howto и Стиль
    • Diy своими руками
    • Образование
    • Наука и Технологии
    • Некоммерческие Организации
  • О сайте

Скачать или смотреть PL/SQL Savepoint vs Default Exception Handling — Quick Demo Interview Preparation

  • kuldeep gupta
  • 2025-10-10
  • 22
PL/SQL Savepoint vs Default Exception Handling — Quick Demo Interview Preparation
  • ok logo

Скачать PL/SQL Savepoint vs Default Exception Handling — Quick Demo Interview Preparation бесплатно в качестве 4к (2к / 1080p)

У нас вы можете скачать бесплатно PL/SQL Savepoint vs Default Exception Handling — Quick Demo Interview Preparation или посмотреть видео с ютуба в максимальном доступном качестве.

Для скачивания выберите вариант из формы ниже:

  • Информация по загрузке:

Cкачать музыку PL/SQL Savepoint vs Default Exception Handling — Quick Demo Interview Preparation бесплатно в формате MP3:

Если иконки загрузки не отобразились, ПОЖАЛУЙСТА, НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если у вас возникли трудности с загрузкой, пожалуйста, свяжитесь с нами по контактам, указанным в нижней части страницы.
Спасибо за использование сервиса video2dn.com

Описание к видео PL/SQL Savepoint vs Default Exception Handling — Quick Demo Interview Preparation

CREATE TABLE employees (
emp_id NUMBER PRIMARY KEY,
emp_name VARCHAR2(50),
salary NUMBER
);



BEGIN
FOR i IN 1..10 LOOP
INSERT INTO employees VALUES (i, 'Employee_' || i, 30000 + (i * 100));
END LOOP;
COMMIT;
END;
/



CREATE TABLE payroll (
emp_id NUMBER PRIMARY KEY,
salary NUMBER,
bonus_flag CHAR(1)
);


BEGIN
FOR i IN 1..10 LOOP
INSERT INTO payroll (emp_id, salary, bonus_flag)
VALUES (i, 30000 + (i * 100), 'N');
END LOOP;
COMMIT;
END;
/


begin
execute immediate 'truncate table bonus';
execute immediate 'truncate table employees';
execute immediate 'truncate table payroll';
end;


CREATE TABLE bonus (
emp_id NUMBER,
bonus_amt NUMBER
);


-- ***** WITHOUT SAVEPOINT **********


BEGIN
FOR rec IN (SELECT * FROM employees) LOOP
-- SAVEPOINT before_insert;
BEGIN

-- FIRST DML

INSERT INTO bonus VALUES (rec.emp_id, rec.salary * 0.1);


-- SECOND DML

UPDATE payroll SET bonus_flag = 'Y' WHERE emp_id = rec.emp_id;


-- Simulate error
-- Exception happen in 3rd Steps

IF rec.emp_id = 9 THEN
RAISE_APPLICATION_ERROR(-20001, 'Failed after first DML');
END IF;


-- 4th DML


EXCEPTION
WHEN OTHERS THEN

ROLLBACK; -- Explicitly we mentioned

-- Please note By default oracle rollback only for the statement where exception encountered


--ROLLBACK TO before_insert; -- Undo both insert+update for this emp_id
DBMS_OUTPUT.PUT_LINE('Error for emp_id: ' || rec.emp_id);

END;
END LOOP;


COMMIT;
END;
/





-- ***** DEFAULT BEHAVIOUS ON EXCEPTION **********


BEGIN
FOR rec IN (SELECT * FROM employees) LOOP

BEGIN

-- FIRST DML

INSERT INTO bonus VALUES (rec.emp_id, rec.salary * 0.1);


-- SECOND DML

UPDATE payroll SET bonus_flag = 'Y' WHERE emp_id = rec.emp_id;


-- Simulate error
-- Exception happen in 3rd Steps

IF rec.emp_id = 9 THEN
RAISE_APPLICATION_ERROR(-20001, 'Failed after first DML');
END IF;


-- 4th DML


EXCEPTION
WHEN OTHERS THEN

ROLLBACK; -- Explicitly we mentioned

-- ROLLBACK to before_insert;

-- Please note By default oracle rollback only for the statement where exception encountered


--ROLLBACK TO before_insert; -- Undo both insert+update for this emp_id
DBMS_OUTPUT.PUT_LINE('Error for emp_id: ' || rec.emp_id);

END;
END LOOP;


COMMIT;
END;
/


-- ***** WITH SAVEPOINT **********


BEGIN
FOR rec IN (SELECT * FROM employees) LOOP
SAVEPOINT before_insert;
BEGIN

-- FIRST DML

INSERT INTO bonus VALUES (rec.emp_id, rec.salary * 0.1);


-- SECOND DML

UPDATE payroll SET bonus_flag = 'Y' WHERE emp_id = rec.emp_id;


-- Simulate error
-- Exception happen in 3rd Steps

IF rec.emp_id = 9 THEN
RAISE_APPLICATION_ERROR(-20001, 'Failed after first DML');
END IF;


-- 4th DML


EXCEPTION
WHEN OTHERS THEN

--ROLLBACK; -- Explicitly we mentioned

ROLLBACK to before_insert;

-- Please note By default oracle rollback only for the statement where exception encountered


--ROLLBACK TO before_insert; -- Undo both insert+update for this emp_id
DBMS_OUTPUT.PUT_LINE('Error for emp_id: ' || rec.emp_id);

END;
END LOOP;


COMMIT;
END;
/

Комментарии

Информация по комментариям в разработке

Похожие видео

  • О нас
  • Контакты
  • Отказ от ответственности - Disclaimer
  • Условия использования сайта - TOS
  • Политика конфиденциальности

video2dn Copyright © 2023 - 2025

Контакты для правообладателей [email protected]