在Oracle中,使用RETURNING子句可以在更新數據后立即返回更新的行的值。以下是一個示例:
UPDATE employees
SET salary = salary * 1.1
WHERE department_id = 10
RETURNING employee_id, salary INTO :old_employee_id, :new_salary;
在這個示例中,我們更新了部門ID為10的員工的薪水,并使用RETURNING子句返回更新的員工ID和新的薪水值。
你也可以在更新語句中使用RETURNING子句來返回多個列的值:
UPDATE employees
SET salary = salary * 1.1,
commission_pct = commission_pct * 1.05
WHERE department_id = 20
RETURNING employee_id, salary, commission_pct INTO :old_employee_id, :new_salary, :new_commission_pct;
在這個示例中,我們更新了部門ID為20的員工的薪水和提成比例,并使用RETURNING子句返回更新的員工ID、新的薪水和新的提成比例值。
需要注意的是,RETURNING子句只能在UPDATE和INSERT語句中使用,不能在DELETE語句中使用。