在Oracle中,你可以使用循環(huán)SQL(也稱為游標(biāo))來(lái)更新表中的一行或多行數(shù)據(jù)。以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用循環(huán)SQL更新表中的數(shù)據(jù):
employees
的表,其中包含以下列:employee_id
,first_name
,last_name
和salary
。CREATE TABLE employees (
employee_id NUMBER PRIMARY KEY,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
salary NUMBER
);
DECLARE
CURSOR salary_update_cursor IS
SELECT employee_id, salary FROM employees;
updated_salary NUMBER;
BEGIN
FOR record IN salary_update_cursor LOOP
updated_salary := record.salary * 1.10; -- 計(jì)算新的薪水
UPDATE employees
SET salary = updated_salary
WHERE employee_id = record.employee_id; -- 更新薪水
END LOOP;
COMMIT; -- 提交更改
END;
/
這個(gè)循環(huán)SQL首先聲明了一個(gè)游標(biāo)salary_update_cursor
,用于從employees
表中檢索employee_id
和salary
列。然后,我們使用FOR
循環(huán)遍歷游標(biāo)中的每一行,計(jì)算新的薪水(將原始薪水乘以1.10),并使用UPDATE
語(yǔ)句將新薪水更新到employees
表中。最后,我們使用COMMIT
語(yǔ)句提交更改。