0
如何跳過遊標循環中的一行?如何在mysql觸發器中按條件跳過行?
我提到繼續;在上面的片段中。如果name ='siva',我想跳過。
CREATE TRIGGER `vdata_after_insert` AFTER INSERT ON `vdata`
BEGIN
declare v_name varchar(100);
declare v_address varchar(100);
declare v_city varchar(50);
declare v_IdentityNO varchar(20)
declare v_clientNo int
declare cur1 cursor for
select name,Address,City,IdentityNO,clientNo
from temptable;
declare continue handler for not found set done=1;
set done = 0;
open cur1;
igmLoop: loop
fetch cur1 into v_name,v_Address,v_City,v_IdentityNO,v_clientNo;
if done = 1 then leave igmLoop; end if;
if v_name = 'siva' then **CONTINUE**;
insert into audit(name, data) values(v_name, now())
end loop igmLoop;
close cur1;
END
我只是舉例來說明我的問題。如果我改變邏輯,那麼我必須在該IF塊內維護非常大的代碼塊。 –
@KumarSiva我不認爲這樣的構造存在於MySQL中,但即使它存在,也不需要使用它。你總是可以構造一個'IF'語句來跳過遊標中不應該執行給定獲取的代碼。 –
你在說mysql沒有CONTINUE嗎? –