C#中使用Oracle存储过程笔记

文章作者 100test 发表时间 2007:09:15 12:48:10
来源 100Test.Com百考试题网


  1.调用包含out/ in out类型参数的存储过程
  
  存储过程:
  
  CREATE OR REPLACE PROCEDURE "SITE_EDITSITEDATAEXIST"
  
  (id_ number,
  
  name_ varchar2,
  
  httpRoot_ varchar2,
  
  flag out integer )//out 只具备输出功能 in out 为输入/输出型
  
  as
  
  tempNum integer.
  
  begin
  
  flag:=0.
  
  0select count(id) into tempNum from WebSite_Info where Name = name_ and ID<>id_.
  
  if tempNum > 0 then
  
  flag:=3.
  
  end if.
  
  0select count(id) into tempNum from WebSite_Info where HttpRoot = HttpRoot_ and ID<>id_.
  
  if tempNum > 0 then
  
  flag:=4.
  
  end if.
  
  commit.
  
  end .
  
  /
  
  调用方法:
  
  OracleParameter retPar = new OracleParameter(“channelId”, OracleType.Number).
  
  retPar.Direction = ParameterDirection.Output.//此处和存储过程中的类型匹配
  
  //如果为in out 类型 此处应声//明InputOutput
  
  OracleParameter[] param = new OracleParameter[ 2 ]
  
  {
  
  new OracleParameter(“subjectId”, OracleType.VarChar, 60)
  
  }.
  
  param[ 0 ].Value = 0.
  
  OracleHelper.ExecuteReader( OracleHelper.CONN_STRING_BASE, CommandType.StoredProcedure,
  
  "site_EditSiteDataExist" ,param).
  
  //有返回值时必须使用ExecuteReader方法
  
  object val = param[ 3 ].Value.
  
  return int.Parse( val.ToString() ).


相关文章


sql存储过程分页
磁盘阵列(DiskArray)原理
通过LEI技术实现NOTES与SQL2000数据交换(二)
C#中使用Oracle存储过程笔记
将图片文存储到Oracle的存储过程
ring调用ORACLE存储过程的结果集
Move系统表DEPENDENCY$导致索引失效的数据库故障
一个简单的oracle分页存储过程的实现和调用
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛