创建临时表示提示表或视图不存在 能讲的具体点吗,用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,因此找不到那张表;或者是建表时出了错,表根本没建起来 2个数据库的数据查询问题 请大虾帮助,找出一行中的最大值并得到该值的字段名 存储过程 ORA-00904: "month": 标识符无效,看看类型对吗 Oracle存储过程怎么传入一个带有 like '% %' 的字符串参数。 如何捕捉正在执行的SQL语句 现在想把一个数据库db_spba从一台服务器上称置到另一台新的服务器上,最好用什么方法 ?删除表数据时太慢的原因? oracle基本的问题 关于对CLOB字段的模糊检索,在线等待!! 我的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,因此找不到那张表;或者是建表时出了错,表根本没建起来