存储过程编译,PLS-00103错误,请指点!!

goodisme 2006-10-11 11:55:17
编译错误:
PLS-00103: 出现符号 "SELECT"在需要下列之一时 <an identifier><a double-quoted delimited-identifier>

错误语句:

UPDATE b
SET minitqty =
( minitqty
+ (SELECT trxqtysum ---报错行
FROM a
WHERE b.wno = a.wno
AND b.mcd = a.mcd
AND TRIM (b.wno) = TRIM (vs_wno))
)
WHERE EXISTS (
SELECT 'X'
FROM a
WHERE b.wno = a.wno
AND b.mcd = a.mcd
AND TRIM (b.wno) = TRIM (vs_wno));

说明:其中wno,mcd为a表的主键,确定a表唯一记录行。
...全文
245 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eric_1999 2006-10-11
  • 打赏
  • 举报
回复
UPDATE b
SET b.minitqty =
( (SELECT trxqtysum+b.minitqty ---报错行
FROM a
WHERE b.wno = a.wno
AND b.mcd = a.mcd
AND TRIM (b.wno) = TRIM (vs_wno))
)
WHERE EXISTS (
SELECT 1
FROM a
WHERE b.wno = a.wno
AND b.mcd = a.mcd
AND TRIM (b.wno) = TRIM (vs_wno));
sten 2006-10-11
  • 打赏
  • 举报
回复
楼主,楼上的可以了吗
wiler 2006-10-11
  • 打赏
  • 举报
回复
UPDATE b
SET minitqty =
(SELECT trxqtysum+b.minitqty
FROM a
WHERE b.wno = a.wno
AND b.mcd = a.mcd
AND TRIM (b.wno) = TRIM (vs_wno)
)
WHERE EXISTS (
SELECT 'X'
FROM a
WHERE b.wno = a.wno
AND b.mcd = a.mcd
AND TRIM (b.wno) = TRIM (vs_wno));
goodisme 2006-10-11
  • 打赏
  • 举报
回复
另外说明,,这个在9i下编译没有问题的,而在8.1.6下就会出现这样的错误,

请高手指点!!!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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