Oracle & počet upravených řádků
Jan Serak
sherry na pikebo.cz
Pondělí Prosinec 11 16:41:01 CET 2000
Vladimir Naprstek wrote:
>
> Zdravím,
> potřeboval bych zjistit, kolik řádků bylo upraveno příkazem UPDATE. Pro
> klauzuli RETURNING jsem našel v nápovědě, že má tento požadavek nahradit
> vrácením hodnoty nějakého atributu. Jenže to lze použít, pokud dotaz
> upraví jen jeden řádek. Víceřádkové dotazy hlásí chybu (vrácena
> víceřádková hodnota), sum() také nelze použít (zde nelze použít
> skupinovou funkci)...
>
> Máte někdo nějaký JEDNODUCHÝ postup?
> Použít SELECT SUM(1) FROM....
> a následně UPDATE ....
> se stejnými podmínkami WHERE se mi nechce (a navíc mezi jednotlivými
> příkazy se může mnoho věcí změnit a nasadit transakci na tak obyčejnou
> věc...)
Kazdy cursor v PL/SQL ma atribut %rowcount. DML prikazy, ktere nejsou
v explicitnim kurzoru, jsou automaticky povazovany za implicitni kurzor
s nazvem sql. Takze to, co potrebujete je:
update ...
pocet_updatovanych_zaznamu:=sql%rowcount;
Jan Serak
Další informace o konferenci Test