如果员工是管道工,我想更新我的员工数据库以将 batch_id 设置为“P-1000”。
我不想创建 5 个单独的(且缓慢的)查询,而是:
- 设置数组的每个索引都是一个表名
- 遍历数组
- 使用字符串索引处的字符串值更新表
我什至找不到任何与我在这里提出的概念类似的东西,这让我认为我完全找错了树。
尽管如此,这是我正在尝试做的伪代码。
declare
type array_type is table of varchar2(100) index by binary_integer;
dmt_tables array_type;
begin
--fill dm_employeeTables array
dm_employeeTables(0) := 'dm_address';
dm_employeeTables(1) := 'dm_communications';
dm_employeeTables(2) := 'dm_identifier';
dm_employeeTables(3) := 'dm_name';
dm_employeeTables(4) := 'dm_qualifications';
-- loop through tables
for i in dm_employeeTables.FIRST .. dmt_tables.LAST
loop
update dm_employeeTables(i) a
set employee_batch_id = 'P-1000'
where a.employee_type = 'PLUMBER';
i=i+1;
end loop;
end;