出现这个错误是怎么回事

xuebo_911 2012-08-10 02:36:17
DECLARE
V_SQL LONG;
---CURSOR V_CUR IS
-- WHERE TABLE_NAME LIKE 'FEE%';
BEGIN

FOR V_CUR IN (SELECT DISTINCT PROV_ID FROM CHECK_DIM_CITY) LOOP
V_SQL := 'INSERT INTO ZB_XUE911
SELECT /*+ parallel(T,8)*/PROV_ID, SUBS_INSTANCE_ID, DEVICE_NUMBER, TOTAL_FEE_ALL
FROM ZB_DWA.DWA_V_M_CUS_MB_USER_EXT_'|| V_CUR.PROV_ID ||'@CUJFBD t
WHERE t.MONTH_ID = ''201207''
AND t.service_type =' 20AAAAAA '
AND t.total_fee_all <0
AND ROWNUM<6 ';
EXECUTE IMMEDIATE V_SQL;
END LOOP;
COMMIT;
END;



注:单引号 双引号 双单引号都用过 不行啊 求助 谢谢
ORA-06550: 第 12 行, 第 24 列:
PLS-00103: 出现符号 "20"在需要下列之一时:
* & = - + ; < / > at in is
mod remainder not rem <an exponent (**)> <> or != or ~= >= <=
<> and or like LIKE2_ LIKE4_ LIKEC_ between || member
SUBMULTISET_
...全文
81 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
人生无悔 2012-08-10
  • 打赏
  • 举报
回复
還有此處是兩個單引號,不是雙引號
人生无悔 2012-08-10
  • 打赏
  • 举报
回复
引號的用處有兩種,一種是正常的標記,另一種是轉義

此處兩個引號並在一起,代表一個,第一個引號是轉義,另一個引號是被轉義後實際用來顯示的
xuebo_911 2012-08-10
  • 打赏
  • 举报
回复
这是为什么啊 我记得自己写SQL语句时候 写的是单引号 也能查出一个表的内容 但是这为什么要加双引号
ORAClE SE 2012-08-10
  • 打赏
  • 举报
回复
要使用引号,必须要三个引号才代表一个 '''2012007''' 这样。
人生无悔 2012-08-10
  • 打赏
  • 举报
回复

--兩個引號要放一起
WHERE t.MONTH_ID = ''201207''
AND t.service_type =''20AAAAAA ''

17,086

社区成员

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

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