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