在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语句中使用。