求救 oracle sp

软件搬运工 2010-04-29 11:52:59
请各位大侠么,看下如下问题,
--××××××××××××××××××××××××××××××××××××××××
CREATE OR REPLACE PROCEDURE TESTSP(I IN INTEGER)
IS
I VARCHAR2(20);

M VARCHAR2(20);
K INTEGER;
BEGIN
--set K:=I
SELECT COMP_NAME ,COMP_ADD INTO I,M FROM TEST WHERE COMP_ID=K;
END;
--××××××××××××××××××××××××××××××××××××××××
执行时,报如下错误:
...全文
135 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjm5210 2010-04-30
  • 打赏
  • 举报
回复
还有一种可能就不你的查询语句查询出来的不止是一条记录。
ptpa 2010-04-30
  • 打赏
  • 举报
回复
CREATE OR REPLACE PROCEDURE TESTSP(I_comp_id IN INTEGER)

IS
I VARCHAR2(20);--不能使用全角字符

M VARCHAR2(20);--不能使用全角字符
K INTEGER;
BEGIN
SELECT COMP_NAME ,COMP_ADD INTO I,M FROM TEST WHERE COMP_ID=I_comp_id;
END;
COMP_ID 为 列唯一值
ngx20080110 2010-04-29
  • 打赏
  • 举报
回复
樓主,你上傳的圖片,我這邊看不到
软件搬运工 2010-04-29
  • 打赏
  • 举报
回复


红色是错误的地方
ngx20080110 2010-04-29
  • 打赏
  • 举报
回复
把具體報錯信息貼出來吧
软件搬运工 2010-04-29
  • 打赏
  • 举报
回复
但是资料表中是有资料的呀,不知道怎么回事,还请帮忙,我是学者
ngx20080110 2010-04-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 codearts 的回复:]
估计是报no_data_found异常
[/Quote]
也是,k 沒有賦值,為null,所以查不到數据.
codearts 2010-04-29
  • 打赏
  • 举报
回复
估计是报no_data_found异常
ngx20080110 2010-04-29
  • 打赏
  • 举报
回复
沒看到錯誤信息的圖片
xiaosheng2008 2010-04-29
  • 打赏
  • 举报
回复
传入参数 和自定义变量名字相同了,不允许这样做
tangren 2010-04-29
  • 打赏
  • 举报
回复
CREATE OR REPLACE PROCEDURE TESTSP(I IN INTEGER)
--入口参数不能与局部变量一样上面的变量可改名为p_i
IS
I VARCHAR2(20)--不能使用全角字符

M VARCHAR2(20)--不能使用全角字符
K INTEGER;
BEGIN
--set K:=I
SELECT COMP_NAME ,COMP_ADD INTO I,M FROM TEST WHERE COMP_ID=K;
END;

17,377

社区成员

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

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