DECLARE
BEGIN EXECUTE IMMEDIATE 'create table tmp_mr_lcs (lnt float, lat float)'; INSERT INTO tmp_mr_lcs VALUES(1,1);
COMMIT;
END;为什么执行到INSERT INTO 的时候会报错 tmp_mr_lcs表不存在,而单独运行时没问题,觉得很奇怪,哪位懂的给解决一下,十分感谢
BEGIN EXECUTE IMMEDIATE 'create table tmp_mr_lcs (lnt float, lat float)'; INSERT INTO tmp_mr_lcs VALUES(1,1);
COMMIT;
END;为什么执行到INSERT INTO 的时候会报错 tmp_mr_lcs表不存在,而单独运行时没问题,觉得很奇怪,哪位懂的给解决一下,十分感谢
DECLARE
BEGIN
EXECUTE IMMEDIATE 'create table tmp_mr_lcs (lnt float, lat float)';
execute immediate 'INSERT INTO tmp_mr_lcs VALUES(1,1)';
COMMIT;
END;当你用EXECUTE IMMEDIATE建表时,再用所建之表,
也应该用execute immediate插入
oracle中ddl是自动提交的。
已写入 file afiedt.buf 1 DECLARE
2 BEGIN
3 EXECUTE IMMEDIATE 'create table tmp_mr_lcs (lnt float, lat float)';
4 EXECUTE IMMEDIATE 'INSERT INTO tmp_mr_lcs VALUES(1,1)';
5 COMMIT;
6* END;
SQL> /PL/SQL 过程已成功完成。SQL> desc tmp_mr_lcs;
名称 是否为空? 类型
----------------------------------------------------------------------------------- -------- ------
LNT FLOAT(126)
LAT FLOAT(126)SQL> select * from tmp_mr_lcs; LNT LAT
---------- ----------
1 1