请问这个存储过程哪里有错啊?新建存储过程的时候会判断逻辑是否正确吗?还是只要判断语法就行了?

[复制链接]
查看11 | 回复3 | 2011-5-5 06:24:20 | 显示全部楼层 |阅读模式
createorreplaceprocedureinsertuser
(
puidinuserinfo.userid%type,
punameinuserinfo.username%type,
pupwdinuserinfo.userpwd%type,
puaddressinuserinfo.useraddress%type
)
is
resultnumnumber;
begin
resultnum:=0;
selectcount(*)intoresultnumfromuserinfowhereuserid=puidorusername=puname;
ifresultnum=0then
insertintouserinfovalues(puid,puname,pupwd,puaddress);
commit;
dbms_output.put_line(\'成功插入数据\');
else
ifuserid=puidthen
dbms_output.put_line(\'这个ID已经存在了,请换过一个!\');
else
dbms_output.put_line(\'该数据已经存在\');
endif;
endif;
end;
回复

使用道具 举报

千问 | 2011-5-5 06:24:20 | 显示全部楼层
count(*)问题,不使用游标,存储过程不能进行多项列查询









<h4class=\"ask\">追问


不是这样子的啊,我先前写过一个简单的,主要是后面的ifelse的问题,把条件去掉就没有问题了,所以应该不是count的问题……
回复

使用道具 举报

千问 | 2011-5-5 06:24:20 | 显示全部楼层
额,count(*)的确没错
我想可能你的控制语句格式搞错了:
ifthen
*****
else
*****
elseif
*********
endif;
回复

使用道具 举报

千问 | 2011-5-5 06:24:20 | 显示全部楼层
额,我是新手……
我是为了试验一下ifelse才写的这些条件的,else结束后为什么要补上elsif?我又不加条件了啊?elsif这个不是和Java里面的elseif一样的么?
我比较笨,表拍砖……
谢谢……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行