使用%ROWTYPE居然报错??

wangsj888 2011-11-06 08:53:14
CREATE OR REPLACE PACKAGE ss_syn_statdata AS
PROCEDURE tb_ss_base_show ;
END ss_syn_statdata;
/

CREATE OR REPLACE PACKAGE BODY ss_syn_statdata AS

PROCEDURE tb_ss_base_show IS
nCount NUMBER;

rec_tb tb_ss_base_show%ROWTYPE;

BEGIN
SELECT count(*) INTO nCount from dual;

END tb_ss_base_show;

end ss_syn_statdata;
/

以上语句保存为ss.sql,然后执行

SQL> start ss.sql

Package created.


Warning: Package Body created with compilation errors.

SQL> show err
Errors for PACKAGE BODY SS_SYN_STATDATA:

LINE/COL ERROR
-------- -----------------------------------------------------------------
8/17 PLS-00310: with %ROWTYPE attribute, 'TB_SS_BASE_SHOW' must name
a table, cursor or cursor-variable

8/17 PL/SQL: Item ignored
SQL>

上面这个PLSQL居然报错,表是存在的。
...全文
254 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangsj888 2011-11-08
  • 打赏
  • 举报
回复
是哦。
搞了这种乌龙....
opps_zhou 2011-11-07
  • 打赏
  • 举报
回复
tb_ss_base_show 是存储过程,怎么可能会有 rowtype 呢
yangqm22 2011-11-07
  • 打赏
  • 举报
回复
正解
[Quote=引用 2 楼 yjytiantang 的回复:]
PROCEDURE tb_ss_base_show IS
貌似表名和过程名字重复了~~
[/Quote]
yjytiantang 2011-11-07
  • 打赏
  • 举报
回复
PROCEDURE tb_ss_base_show IS
貌似表名和过程名字重复了~~
yixilan 2011-11-07
  • 打赏
  • 举报
回复
是同一个用户下的么?
执行下面语句有结果么:
select * from TB_SS_BASE_SHOW;

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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