次の説明を含むテーブル製品があります。
desc products;
Name Null? Type
---------------------- -------- --------------
PID NOT NULL CHAR(4)
PNAME VARCHAR2(15)
PRICE NUMBER(6,2)
DISCNT_RATE NUMBER(3,2)
私のカーソルステートメントは次のとおりです。
declare
cursor c5 is
select pid, pname, price
from products
c5_rec c5%rowtype
group by price for update;
begin
for c5_rec in c5
loop
if(c5_rec.price > 100) then
delete from products where current of c5;
end if;
end loop;
end;
/
4 行目と 5 行目に group by と rowtype を含めないと、エラーが発生します。
integrity constraint (MYID.SYS_C0012393) violated - child record found ORA06512: at line 7
私がやろうとしているのはPL/SQL
、カーソルを含む句を含む無名ブロックを作成GROUP BY
し、実行セクションでカーソルの結果のテーブルで更新/削除を実行することです。group by 句はどこに追加できますか? どこが間違っていますか?