知识大全 使用VB调用Oracle程序包内的存储过程返回结果集

Posted 时间

篇首语:少量的常识,当得大量的学问。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用VB调用Oracle程序包内的存储过程返回结果集相关的知识,希望对你有一定的参考价值。

使用VB调用Oracle程序包内的存储过程返回结果集  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在实际的项目开发中我们需要通过VB(或其他语言工具)调用Oracle程序包内的存储过程返回结果集 这里以短信运营平台中的一个调用为例来说明这个过程 希望对你有所帮助      一 使用SQL*Plus创建以下项目:    建表( OW_SMP 为方案名称 下同)     CREATE TABLE OW_SMP SM_Send_SM_List (     SerialNo INT PRIMARY KEY 序列号     ServiceID VARCHAR( ) 服务ID(业务类型)     SMContent VARCHAR( ) 短信内容     SendTarget VARCHAR( ) 发送目标     Priority SMALLINT 发送优先级     RCompleteTimeBegin DATE 要求完成日期(开始)     RCompleteTimeEnd DATE 要求完成日期(结束)     RCompleteHourBegin SMALLINT 要求完成时间(开始)     RCompleteHourEnd SMALLINT 要求完成时间(结束)     RequestTime DATE 发送请求时间     RoadBy SMALLINT 发送通道( GSM模块 短信网关)     SendTargetDesc VARCHAR( ) 发送目标描述     FeeValue FLOAT 本条短信信息费用(单位 分)     Pad VARCHAR( )     Pad VARCHAR( )     Pad VARCHAR( )     Pad VARCHAR( )     Pad VARCHAR( )   );    建立自增序列   Create sequence OW_SMP SENDSNO ;   CREATE OR REPLACE TRIGGER OW_SMP BFINERT_SM_SEND BEFORE   INSERT ON SM_SEND_SM_LIST     FOR EACH ROW begin    select SendSNo nextval into :new serialno from dual;   end;    插入数据   Insert SM_Send_SM_List (SMCOntent) values( Happy New Year To Jakcy! );   Insert SM_Send_SM_List (SMCOntent) values( Happy New Year To Wxl! );    建立程序包和包体     CREATE OR REPLACE PACKAGE OW_SMP OW_SMP_PACKAGE         is      type tSerialNo is table of sm_send_sm_list SerialNo%type       index by binary_integer;      type tServiceID is table of sm_send_sm_list ServiceID%type       index by binary_integer;      type tSMContent is table of sm_send_sm_list SMContent%type       index by binary_integer;      type tSendTarget is table of sm_send_sm_list SendTarget%type       index by binary_integer;      type tPriority is table of sm_send_sm_list Priority%type       index by binary_integer;      type tRCompleteTimeBegin is table of sm_send_sm_list RCompleteTimeBegin%type       index by binary_integer;      type tRCompleteTimeEnd is table of sm_send_sm_list RCompleteTimeEnd%type       index by binary_integer;      type tRCompleteHourBegin is table of sm_send_sm_list RCompleteHourBegin%type       index by binary_integer;      type tRCompleteHourEnd is table of sm_send_sm_list RCompleteHourEnd%type       index by binary_integer;      type tRequestTime is table of sm_send_sm_list RequestTime%type       index by binary_integer;      type tRoadBy is table of sm_send_sm_list RoadBy%type       index by binary_integer;      type tSendTargetDesc is table of sm_send_sm_list SendTargetDesc%type       index by binary_integer;      type tFeeValue is table of sm_send_sm_list FeeValue%type       index by binary_integer;      type tPad is table of sm_send_sm_list Pad %type       index by binary_integer;      type tPad is table of sm_send_sm_list Pad %type       index by binary_integer;      type tPad is table of sm_send_sm_list Pad %type       index by binary_integer;      type tPad is table of sm_send_sm_list Pad %type       index by binary_integer;      type tPad is table of sm_send_sm_list Pad %type       index by binary_integer;      type tCount is table of number       index by binary_integer;         procedure GetSendSM          (v_NowByMinute in Number           v_SerialNo out tSerialNo           v_ServiceID out tServiceID           v_SMContent out tSMContent           v_SendTarget out tSendTarget           v_Priority out tPriority           v_RCompleteTimeBegin out tRCompleteTimeBegin           v_RCompleteTimeEnd out tRCompleteTimeEnd           v_RCompleteHourBegin out tRCompleteHourBegin           v_RCompleteHourEnd out tRCompleteHourEnd           v_RequestTime out tRequestTime           v_RoadBy out tRoadBy           v_SendTargetDesc out tSendTargetDesc           v_FeeValue out tFeeValue           v_Pad out tPad           v_Pad out tPad           v_Pad out tPad           v_Pad out tPad           v_Pad out tPad           v_Count out tCount           ;   end;   /   CREATE OR REPLACE PACKAGE BODY OW_SMP OW_SMP_PACKAGE         is      procedure GetSendSM 获得前 条在指定时间内的待发短信          (v_NowByMinute in Number           v_SerialNo out tSerialNo           v_ServiceID out tServiceID           v_SMContent out tSMContent           v_SendTarget out tSendTarget           v_Priority out tPriority           v_RCompleteTimeBegin out tRCompleteTimeBegin           v_RCompleteTimeEnd out tRCompleteTimeEnd           v_RCompleteHourBegin out tRCompleteHourBegin           v_RCompleteHourEnd out tRCompleteHourEnd           v_RequestTime out tRequestTime           v_RoadBy out tRoadBy           v_SendTargetDesc out tSendTargetDesc           v_FeeValue out tFeeValue           v_Pad out tPad           v_Pad out tPad           v_Pad out tPad           v_Pad out tPad           v_Pad out tPad           v_Count out tcount)                 is        cursor sendsm_cur is            select * from sm_send_sm_list            where RCompleteHourBegin<=v_NowByMinute and     RCompleteHourEnd>=v_NowByMinute and (RCompleteTimeBegin is null or     RCompleteTimeBegin<=sysdate)            and (RCompleteTimeEnd is null or RCompleteTimeEnd>=sysdate )            and RowNum< ;                    smcount number default ;      begin        for sm in sendsm_cur        loop            v_SerialNo(smcount):=sm SerialNo;            v_ServiceID(smcount):=sm ServiceID;            v_SMContent(smcount):=sm SMContent;            v_SendTarget(smcount):=sm SendTarget;            v_Priority(smcount):=sm Priority;            v_RCompleteTimeBegin(smcount):=sm RCompleteTimeBegin;            v_RCompleteTimeEnd(smcount):=sm RCompleteTimeEnd;            v_RCompleteHourBegin(smcount):=sm RCompleteHourBegin;            v_RCompleteHourEnd(smcount):=sm RCompleteHourEnd;            v_RequestTime(smcount):=sm RequestTime;            v_RoadBy(smcount):=sm RoadBy;            v_SendTargetDesc(smcount):=sm SendTargetDesc;            v_FeeValue(smcount):=sm FeeValue;            v_Pad (smcount):=sm Pad ;            v_Pad (smcount):=sm Pad ;            v_Pad (smcount):=sm Pad ;            v_Pad (smcount):=sm Pad ;            v_Pad (smcount):=sm Pad ; cha138/Article/program/Oracle/201311/18179

相关参考

知识大全 java调用oracle存储过程

  一无返回值的存储过程  存储过程为  CREATEORREPLACEPROCEDURETESTA(PARAINVARCHARPARAIN VARCHAR) 

知识大全 PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解

PHP调用MsSQLServer2012存储过程获取多结果集(包含output参数)的详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后

知识大全 Oracle动态SQL返回单条结果和结果集

Oracle动态SQL返回单条结果和结果集  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  DDL

知识大全 在oracle中限制返回结果集的大小

  Oracle不支持类似于MySQL中的limit但你还是可以rownum来限制返回的结果集的行数    如果你只希望返回前十行纪录你可以这样写    SELECT*FROMtableWHERERO

知识大全 Oracle存储过程返回数组的方法

Oracle存储过程返回数组的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  oracle存

知识大全 Ibatis调用Oracle存储过程

Ibatis调用Oracle存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近开始接触

知识大全 VFP中调用Oracle的存储过程

VFP中调用Oracle的存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  VFP由于其通

知识大全 一个简单的oracle分页存储过程的实现和调用

  在看了众多的分页存储过程以后发现都是针对sqlserver的而没有oracle的因此想写一个关于oracle的存储过程因为我用到的数据库是oracleoracle分页存储过程的思路于sqlserv

知识大全 Jsp中调用Oracle存储过程的小例子

Jsp中调用Oracle存储过程的小例子  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  /*执行

知识大全 调用Oracle数据库中的存储过程需要两步走

调用Oracle数据库中的存储过程需要两步走  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  存储