求牛人帮我看看是什么情况

luckyzwh 2012-09-19 05:24:08
先上sql

declare
v_count number;
begin
select count(*) into v_count from planeuser.f_device x where x.nscomid=:nscomid_;
if(v_count>0) then
:RETURNSTR_ :='重复IP';
else
Insert into PlaneUser.F_DEVICE
( AREAID,DEVICEID,DEVICETYPE,GATE,NSCOMID,NSDEVICENAME,PRODUCE,RESOLUTION,SCREENTYPEID,TYPENO,delflag,updatedatetime )
values
( :AREAID_,:DEVICEID_,:DEVICETYPE_,:GATE_,:NSCOMID_,:NSDEVICENAME_,:PRODUCE_,:RESOLUTION_,:SCREENTYPEID_,:TYPENO_,0,sysdate );
end if;
end;

此语句是为了判断输入的IP是否重复然后再插入

但是操作的时候会报错

求牛人帮我看看什么问题
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2012-09-19
  • 打赏
  • 举报
回复
:RETURNSTR_ :='重复IP';
这句错了,还有,具体都啥错误信息,贴上来
人生无悔 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:

你的錯誤應有一大堆
:nscomid_
前面加兩點是觸發器中:new,:old才用的
一般變量直接nscomid_就可以了
還有你的變量,像nscomid_都沒有聲明唉,這些都需要聲明的


這量前面的:全去掉,復值的:=保留,然後把沒有聲明的變量聲明


:nscomid_这种变量都是我程序里变量赋值的样式,这些都是用户输入的 不是sql里的变量……
[/Quote]

如果是那样,应是这个地方不对:RETURNSTR_ :='重复IP'; 这个应是个变量,怎么搞了个用户输入的参数
iqlife 2012-09-19
  • 打赏
  • 举报
回复
错误信息上来
luckyzwh 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

你的錯誤應有一大堆
:nscomid_
前面加兩點是觸發器中:new,:old才用的
一般變量直接nscomid_就可以了
還有你的變量,像nscomid_都沒有聲明唉,這些都需要聲明的


這量前面的:全去掉,復值的:=保留,然後把沒有聲明的變量聲明
[/Quote]

:nscomid_这种变量都是我程序里变量赋值的样式,这些都是用户输入的 不是sql里的变量
人生无悔 2012-09-19
  • 打赏
  • 举报
回复
你的錯誤應有一大堆
:nscomid_
前面加兩點是觸發器中:new,:old才用的
一般變量直接nscomid_就可以了
還有你的變量,像nscomid_都沒有聲明唉,這些都需要聲明的


這量前面的:全去掉,復值的:=保留,然後把沒有聲明的變量聲明

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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