Oracle存储过程 使用游标、数组的配合查询
2015-12-01 13:56
525 查看
查询输入的门牌号码是否在标准门牌库中存在。存在则返回相应的号码。
View Code
public string GetValidate(){ OracleConnection conn = ConnectOra(); string retRepMphm; try { conn.open(); OracleComandType cmd=conn.CreateCommand(); cmd.CommandType=Commandype.StoredProcedure; cmd.CommandText=""sp_querybzdm; OracleParameter[] parameters =new OracleParameter[4]; parameters[0]=new OracleParameter("mplxs",OracleType.VarChar); parameters[1]=new OracleParameter("bzdms",OracleType.VarChar); parameters[2]=new OracleParameter("mphms",OracleType.VarChar); parameters[3]=new OracleParameter("remphm",OracleType.VarChar,2000); parameters[0].Value="大门牌"; parameters[1].Value="吕岭路"; parameters[2].Value="1号"; parameters[3].Value=ParameterDirection.Output; foreach(OraclePrameter parameter in parameters) cmd.Parameters.Add(parameter); } cmd.ExecuteNonQuery(); retRepMphm=parameters[3].value==null?"":parameters[3].Value.Tostring(); catch(Exception){} throw ex; } finaly{ conn.close(); } create or replace proceduce sp_querybzdm ( mplxs in varchar2;----定义变量 bzdm in varchar2; mphms in varchar2; remphm out varchar2 ---输出变量 ) is countnum number; --游标 cursor curmas is select regexp_substr(mphms ,'[^,]+',1,level) as we from dual connect by level<=length(mphms )-length(replace(mphms,','))+1 begin for row_ma in curmas loop begin select count(*) into countnum from YW_LMP_QD where BZHM=row_mas.we ; if(count(*)<>0) then if str_result is not null then str_result:=str_result||','|| row_ma.we else str_result:=row_ma.we end if; end if; end end loop; if str_result is not null then remphm:=rtrim(str_result,','); end if end
View Code
相关文章推荐
- 友勤签约中芝软件系统(上海)有限公司Oracle Crystal Ball Suite软件项目
- MySQL与Oracle的语法区别详细对比
- Oracle与MySQL的几点区别
- oracle和tomcat的开机自启动
- MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK
- Oracle 两个时间段是否重合 冲突
- Oracle SQL优化
- Oracle修改表结构字段名和字段长度
- Oracle单组函数
- 用zabbix 监控 oracle
- 【Oracle】PLSQL连接ORA-01034、ORA-27101、Linux-x86_64 Error
- oracle 客户端配置
- oracle exp imp 备份 还原
- oracle net manager的配置文件tnsnames.ora位置
- 每月的第一天和最后一天oracle
- oracle alter table
- oracle 11g em 乱码
- Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
- oracle多表关联删除数据表记录方法
- ORACLE多表关联UPDATE 语句