我是 Oracle 的新手,我正在为此苦苦挣扎:
DECLARE
cnt NUMBER;
BEGIN
SELECT COUNT(*) INTO cnt FROM all_tables WHERE table_name like 'Newtable';
IF(cnt=0) THEN
EXECUTE IMMEDIATE 'CREATE TABLE Newtable ....etc';
END IF;
COMMIT;
SELECT COUNT(*) INTO cnt FROM Newtable where id='something'
IF (cnt=0) THEN
EXECUTE IMMEDIATE 'INSERT INTO Newtable ....etc';
END IF;
END;
这不断崩溃,并在插入行上给我“PL/SQL:ORA-00942:表或视图不存在”。我怎样才能避免这种情况?或者我做错了什么?我希望这两个语句(实际上它当然更多)在一个事务中。