免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1603 | 回复: 2
打印 上一主题 下一主题

存储过程执行时的错误,y? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-04 13:11 |只看该作者 |倒序浏览
create or replace procedure test1(par1 in out varchar2,par2 in out varchar2,par3 in out varchar2,par4 in out varchar2,par5 in out varchar2)
is
begin
  insert into dlgh (dlgh_gh,dlgh_mm,dlgh_bm,dlgh_mc,dlgh_qx)values(par1,par2,par3,par4,par5);
end test1;

execute test1('1','1','1','1','1');
错误如下:

///////////////////////////////////////////////////

begin test1('1','1','1','1','1'); end;

ORA-06550: line 1, column 13:
PLS-00363: expression '1' cannot be used as an assignment target
ORA-06550: line 1, column 17:
PLS-00363: expression '1' cannot be used as an assignment target
ORA-06550: line 1, column 21:
PLS-00363: expression '1' cannot be used as an assignment target
ORA-06550: line 1, column 25:
PLS-00363: expression '1' cannot be used as an assignment target
ORA-06550: line 1, column 29:
PLS-00363: expression '1' cannot be used as an assignment target
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

论坛徽章:
0
2 [报告]
发表于 2004-03-04 13:27 |只看该作者

存储过程执行时的错误,y?

呵呵,这里涉及一个很基础的编程问题

左手,右手
比如
a=b

a就是左手
b就是右手

变量可以充当左手或右手
而常量只能充当右手

对于
par1 in out varchar2
par1是一个out parameter,必须具有左手属性
而'1'显然不能

所以,你的
par1 in out varchar2

应该改成
par1 in  varchar2

论坛徽章:
0
3 [报告]
发表于 2004-03-04 13:39 |只看该作者

存储过程执行时的错误,y?

哦~~~~~知道了,多谢多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP