创建临时表示提示表或视图不存在 能讲的具体点吗,用execute immediate 就没有创建好吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的说行对,与sql server 的临时表是不同的,创建临时表时可以指定用户模式,功能比sql server好 CREATE OR REPLACE PROCEDURE "CLINIC"."ZXM_MZ_SEARCHPREMEDICLINICT_MZ" (RC1 IN OUT Omwb_emulation.globalPkg.RCT1)ASmysql varchar2(1024);BEGIN mysql:='CREATE GLOBAL TEMPORARY TABLE TT_TEMP_BASEINFO_5 ( MediCode VARCHAR2(12) NOT NULL, MediName VARCHAR2(30) NOT NULL, etalon VARCHAR2(30) NOT NULL ) ON COMMIT PRESERVE ROWS ';execute immediate mysql;commit; INSERT INTO TT_TEMP_BASEINFO_5 (MediCode, MediName, etalon) values('ddf','dfdfdf','fdfddf');END ;/ 把insert也变成动态执行的。动态SQL在执行时才检查语法,而非动态的SQL在编译时就检查语法,编译时TT_TEMP_BASEINFO_5还未创建,因此会报错。 创建一次应该是永久保留。先直接在SQLPLUS试一下INSERT INTO TT_TEMP_BASEINFO_5 (MediCode, MediName, etalon) values('ddf','dfdfdf','fdfddf');看看,是不是还报那个错,如果还报。那么或者是当前用户不是CLINIC,因此找不到那张表;或者是建表时出了错,表根本没建起来 在存储过程中传入varchar类型的值 转换成日期 PLSQL Developer连接远程数据库 优化同一个表的反复exist查询 触发器问题??? 急!如何验证大量数据? 怎么用一张表的LONG RAW型的字段更新另一张表的BLOB字段? 急求sql查询!! PL SQL 登录无法显示数据库名 急!!! 在csdn找到一个存储过程(lob的更新),但不知其参数含义? 【pl/sql】一次查询多内网数据库 【请高手指教】 我的Oracle为什么无法创建数据库-ora-12560 tns 监听错误 今天重新起服务器时,监听起不来,请各位指点一下
"CLINIC"."ZXM_MZ_SEARCHPREMEDICLINICT_MZ" (
RC1 IN OUT Omwb_emulation.globalPkg.RCT1)
AS
mysql varchar2(1024);
BEGIN
mysql:='CREATE GLOBAL TEMPORARY TABLE TT_TEMP_BASEINFO_5 (
MediCode VARCHAR2(12) NOT NULL,
MediName VARCHAR2(30) NOT NULL,
etalon VARCHAR2(30) NOT NULL
) ON COMMIT PRESERVE ROWS ';
execute immediate mysql;
commit;
INSERT INTO TT_TEMP_BASEINFO_5 (MediCode, MediName, etalon)
values('ddf','dfdfdf','fdfddf');
END ;
/
动态SQL在执行时才检查语法,而非动态的SQL在编译时就检查语法,编译时TT_TEMP_BASEINFO_5还未创建,因此会报错。
先直接在SQLPLUS试一下INSERT INTO TT_TEMP_BASEINFO_5 (MediCode, MediName, etalon)
values('ddf','dfdfdf','fdfddf')
;
看看,是不是还报那个错,如果还报。
那么或者是当前用户不是CLINIC,因此找不到那张表;或者是建表时出了错,表根本没建起来