首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

有关out的有关问题!

2012-02-12 
有关out的问题!在线等!!!!!!!!!!!CREATEORREPLACEPROCEDUREUP_CAUSER_GetMaxId(user_id_infooutnumber)isT

有关out的问题!在线等!!!!!!!!!!!
CREATE   OR   REPLACE   PROCEDURE   UP_CAUSER_GetMaxId(user_id_info   out   number)
is
  TempID   number;
  begin
  SELECT   max(user_id)+1   into   TempID   FROM   causer;
  IF   (TempID   IS   NULL)   then   user_id_info:=-1;
  else  
  user_id_info:=TempID;
  END   IF;
end;


这样的OUT参数为什么总在程序里报:“ORA-01036:   非法的变量名/编号”

[解决办法]
这个存储过程表面上看没什么问题。
问题关键是你如何调用它的?


1 CREATE OR REPLACE PROCEDURE UP_CAUSER_GetMaxId(user_id_info out number)
2 is
3 TempID number;
4 begin
5 SELECT 1 into TempID FROM dual;
6 IF (TempID IS NULL) then user_id_info:=-1;
7 else
8 user_id_info:=TempID;
9 END IF;
10* end;
11 /

过程已创建。

SQL> set serveroutput on;
SQL> declare
2 id number;
3 begin
4 up_causer_getmaxid(id);
5 dbms_output.put_line(id);
6 end;
7 /
1

PL/SQL 过程已成功完成。

[解决办法]
OracleDbType.Number大写的.
[解决办法]
你在c#中调用出现的问题,问题不在oracle上
[解决办法]
参数的名字是ReturnValue,是不是有问题呀?

ParameterDirection.ReturnValue?是应该是ParameterDirection.Output吧.

ParameterDirection.ReturnValue好像是给function用的吧。

热点排行
Bad Request.