BEGIN
UPDATE RPTTABLE SET GROUPCODE='OBD' WHERE REPORTID='TST01';
--COMMIT;
IF SQL %NOTFOUND THEN
DBMS_OUTPUT.PUT_LINE('No Recorde');
ELSE
DBMS_OUTPUT.PUT_LINE('Ok Recorde');
END IF;
END;结果是不管数据库有没有UPDATE,都是输出 No Recorde??不知为什么。。
UPDATE RPTTABLE SET GROUPCODE='OBD' WHERE REPORTID='TST01';
--COMMIT;
IF SQL %NOTFOUND THEN
DBMS_OUTPUT.PUT_LINE('No Recorde');
ELSE
DBMS_OUTPUT.PUT_LINE('Ok Recorde');
END IF;
END;结果是不管数据库有没有UPDATE,都是输出 No Recorde??不知为什么。。
UPDATE rooms
SET number_seats = 100
WHERE room_id = 99980;
-- If the previous UPDATE statement didn't match any rows,
-- insert a new row into the rooms table.
IF SQL%NOTFOUND THEN
INSERT INTO rooms (room_id, number_seats)
VALUES (99980, 100);
END IF;
END;
/BEGIN
UPDATE rooms
SET number_seats = 100
WHERE room_id = 99980;
-- If the previous UPDATE statement didn't match any rows,
-- insert a new row into the rooms table.
IF SQL%ROWCOUNT = 0 THEN
INSERT INTO rooms (room_id, number_seats)
VALUES (99980, 100);
END IF;
END;
/
可是我如果去掉了commit,即使显示Ok Recorde,
我查看数据库里,实际是并没发生改变的啊.请再指教
UPDATE RPTTABLE SET GROUPCODE='OBD' WHERE REPORTID='TST01';
IF SQL %NOTFOUND THEN
DBMS_OUTPUT.PUT_LINE('No Recorde');
ELSE
DBMS_OUTPUT.PUT_LINE('Ok Recorde');
COMMIT;
END IF;
END;
select * from RPTTABLE WHERE REPORTID='TST01'
你的不用commit么??数据库发生真实改变??