Oracle 存储过程 未找到要求的From关键字错误

yuxiali 2011-10-14 02:56:41
CREATE OR REPLACE PROCEDURE proc_createTempTable(routine_id IN INT) AUTHID CURRENT_USER
IS
str VARCHAR2(1000);
colName VARCHAR2(100);
colType VARCHAR2(100);
tableColumn VARCHAR2(2000);
v_count INT;
all_num INT;
i INT;
BEGIN
v_count:=-1;
all_num:=0;
i:=0;
SELECT COUNT(*) INTO v_count FROM USER_TABLES WHERE TABLE_NAME='FX_TEMP_SAMPLE';
SELECT COUNT(*) INTO all_num FROM FX_RESULTFIELD WHERE subroutine_id =routine_id;
FOR i in 0..all_num LOOP
SELECT DATA_TYPE into colType,NAME into colName FROM FX_RESULTFIELD WHERE (subroutine_id =routine_id AND RFS_IDX =i);
IF i=all_num-1 THEN
tableColumn:= tableColumn || colName || colType;
ELSIF i<(all_num-1) THEN
tableColumn:= tableColumn || colName || colType || ',';
END IF;
END LOOP;
IF v_count <= 0 THEN
str:='CREATE GLOBAL TEMPORARY TABLE FX_TEMP_SAMPLE(' || tableColumn || ') ON COMMIT PRESERVE ROWS';
EXECUTE IMMEDIATE str;
END IF;
COMMIT;
END;
...全文
371 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuxiali 2011-10-14
  • 打赏
  • 举报
回复
嗯,是的。解决了已经,谢谢各位!!!
flush_520 2011-10-14
  • 打赏
  • 举报
回复

SELECT DATA_TYPE into colType,NAME into colName FROM 改为
SELECT DATA_TYPE,NAME into colType,colName FROM
m540920181 2011-10-14
  • 打赏
  • 举报
回复
SELECT DATA_TYPE into colType,NAME into colName FROM FX_RESULTFIELD WHERE (subroutine_id =routine_id )

中的SELECT DATA_TYPE into colType,NAME into colName FROM FX_RESULTFIELD
这里没有问题吗???
areswang 2011-10-14
  • 打赏
  • 举报
回复

SELECT COUNT(*) INTO v_count FROM USER_TABLES WHERE TABLE_NAME='FX_TEMP_SAMPLE';
SELECT COUNT(*) INTO all_num FROM FX_RESULTFIELD WHERE subroutine_id =routine_id;
---------------

SELECT COUNT(*) a INTO v_count FROM USER_TABLES WHERE TABLE_NAME='FX_TEMP_SAMPLE';
SELECT COUNT(*) b INTO all_num FROM FX_RESULTFIELD WHERE subroutine_id =routine_id;


17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧