我在存储过程中这样创建了一临时表:
v_str:='CREATE GLOBAL TEMPORARY TABLE TAB(nPlus NUMERIC) ON Commit PRESERVE ROWS';
EXECUTE IMMEDIATE v_str;
SELECT (NVL(fInNumber,0) -NVL( fOutNumber,0) + NVL( fBackNumber,0)) INTO v_nPlus FROM TB_SALE_ORDER_ITEM WHERE vcAspID =v_vcAspID AND vcSaleOrderID in (SELECT vcSaleOrderID FROM TB_SALE_ORDER WHERE vcSaleOrderID=v_vcComeFrom AND vcAspID = v_vcAspID);
v_sql:='INSERT INTO TAB(nPlus) VALUES(:p1)';
EXECUTE IMMEDIATE v_sql using v_nPlus;
SELECT COUNT(nPlus) into v_isOver FROM TAB WHERE nPlus > 0;
编译时提示 SELECT COUNT(nPlus) into v_isOver FROM TAB WHERE nPlus > 0;这一行中 无效的标识符nPlus
v_str:='CREATE GLOBAL TEMPORARY TABLE TAB(nPlus NUMERIC) ON Commit PRESERVE ROWS';
EXECUTE IMMEDIATE v_str;
SELECT (NVL(fInNumber,0) -NVL( fOutNumber,0) + NVL( fBackNumber,0)) INTO v_nPlus FROM TB_SALE_ORDER_ITEM WHERE vcAspID =v_vcAspID AND vcSaleOrderID in (SELECT vcSaleOrderID FROM TB_SALE_ORDER WHERE vcSaleOrderID=v_vcComeFrom AND vcAspID = v_vcAspID);
v_sql:='INSERT INTO TAB(nPlus) VALUES(:p1)';
EXECUTE IMMEDIATE v_sql using v_nPlus;
SELECT COUNT(nPlus) into v_isOver FROM TAB WHERE nPlus > 0;
编译时提示 SELECT COUNT(nPlus) into v_isOver FROM TAB WHERE nPlus > 0;这一行中 无效的标识符nPlus
解决方案 »
- ORACLE配置失败
- 求助:ORACLE 11G SQLPLUS网址怎么打不开 http://localhost:5560/isqlplus/
- session-level baseline and delta什么意思
- 在oracle中添加24小时制的时间
- Oracle9i 没有备份,没有归档日志,数据丢失了,还能恢复吗?
- Oracle监听问题(OracleOraDb10g_home1TNSListener)帮忙解决一下。
- 一个sql语句问题
- sql server存储过程转oracle的问题
- 非常奇怪的问题,进来的有分,急,急,急!!!
- 乱改东西犯错了 但不是什么大问题
- 请问在oracle里如何去掉数据后的回车换行符!
- 求多条件任意组合查询数据库+模糊查找的方法
这句话也要用 EXECUTE IMMEDIATE 的方式来执行