Aşağıdaki kod ile tüm tuş gruplarındaki kayıt adetleri 500’e çıkartılır. Eğer mevcutta daha fazla kayıt varsa yeni kayıt eklenmez.
execute block as
declare variable xposgrup_k type of k;
declare variable xadet type of tamsayi;
declare variable xsira type of tamsayi;
begin
for select k from posgrup into :xposgrup_k do
begin
-- son sıra noyu ve tuş adedini bul
select max(sira),500-(select count(*) from posgruptus where posgrup_k=:xposgrup_k)
from posgruptus where posgrup_k=:xposgrup_k into :xsira, :xadet;
-- hiç kayıt yoksa sıra no 1 yap kayıt varsa bir sonraki numrayı al
if (xsira is null) then
xsira=1;
else
xsira=xsira+1;
while (xadet > 0) do
begin
insert into posgruptus(posgrup_k,sira) values(:xposgrup_k,:xsira);
xsira = xsira+1;
xadet = xadet-1;
end
end
end