我需要在我的批處理中添加一個合并,但如果出現錯誤,它將被忽略并且批處理將繼續進行。我知道如果我這樣做:
BEGIN
DECLARE CONTINUE HANDLER FOR SQLSTATE '42704'
BEGIN END;
EXECUTE IMMEDIATE 'DROP TABLE test.test1';
END
它會起作用,但現在我需要一個更大的命令,而不是那個單一的班輪,而且我從來沒有理解 EXECUTE IMMEDIATE。
在甲骨文我想我可以做
begin
my code
exception
when others then
null;
end;
甚至忽略任何型別的例外,在 db2 中是否有類似的東西?
uj5u.com熱心網友回復:
如下塊中宣告的處理程式會BEGIN END
吞下同一塊中的所有例外:
BEGIN
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
EXECUTE IMMEDIATE 'DROP TABLE test.test1';
EXECUTE IMMEDIATE 'CREATE TABLE MYTAB (I INT)';
EXECUTE IMMEDIATE 'DROP TABLE test.test1';
EXECUTE IMMEDIATE 'INSERT INTO MYTAB (I) VALUES 1, 2, 3';
END
dbfiddle鏈接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/491962.html