用exception,例如
DECLARE
BEGIN
BEGIN -- sub-block begins
update yourtable set col1='test' where --你的update语句
COMMIT;
EXIT;
EXCEPTION
WHEN others THEN
ROLLBACK;
END; -- sub-block ends
END;
DECLARE
BEGIN
BEGIN -- sub-block begins
update yourtable set col1='test' where --你的update语句
COMMIT;
EXIT;
EXCEPTION
WHEN others THEN
ROLLBACK;
END; -- sub-block ends
END;
解决方案 »
- 数据泵导入 的问题
- rhel-server-5.4安装oracle11gr2失败,提示Exception in thread "main"
- 我这么写,为什么报错??
- 请教高手一个问题: 在trigger中使用sequence ,实现在进行insert操作时,表中的ID字段自动增加
- oracle,触发器问题 !!在线等,急
- 无法插入数据到一个表
- escape如何用
- 复杂问题。高手务必进入!求教!
- oracle未找到要求的from关键字
- oracle数据库提示尝试加载Oracle客户端库时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下64位模拟
- 怎样进入sql plus 50分!
- 我想导出表数据的子集,用过的给个例子
CREATE OR REPLACE PROCEDURE "INSERTAREAS" (
tareaid IN VARCHAR2,
tareaname IN VARCHAR2,
tre IN VARCHAR2,
execresult OUT VARCHAR2
)
AS
BEGIN
INSERT INTO areas
(areaid, areaname, re
)
VALUES (to_number(tareaid), tareaname, tre
); execresult := 'T';
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
ROLLBACK;
execresult := 'F' || SQLCODE;
END "INSERTAREAS";
/
的 @@error属性?
INSERT INTO areas
(areaid, areaname, re
)
VALUES (to_number(tareaid), tareaname, tre
);
IF SQL%NOTFOUND THEN
RAISE_APPLICATION_ERROR(-20000,'...');
END IF;