CREATE OR REPLACE PACKAGE p_lee01
IS
TYPE cur_lee01 IS REF CURSOR;
END;

CREATE OR REPLACE PROCEDURE pro_lee01(in_a IN NUMBER,out_01 OUT NUMBER,cur_01 OUT p_lee01.cur_lee01) IS
BEGIN 
 out_01 := 3;
 OPEN cur_01 FOR 
      SELECT * FROM TLEE01;
 dbms_output.put_line(IN_a);

END;

-- Create table
create table TLEE01
(
  ID    NUMBER,
  FNAME VARCHAR2(10)
)

----------------------------------
ODAC  两种调用方式

procedure TForm1.Button15Click(Sender: TObject);
begin
  orastoredproc1.Params.clear;
  OraStoredProc1.StoredProcName := 'pro_lee01';
  orastoredproc1.PrepareSQL;
  orastoredproc1.ParamByName('in_a').Value := 5;
  orastoredproc1.prepare;
  OraStoredProc1.ExecProc;
  showmessage(OraStoredProc1.ParamByName('out_01').AsString);
  ShowValue(OraStoredProc1, Button8.Caption);
end;

procedure TForm1.Button9Click(Sender: TObject);
var
  s: string;
begin
  s := 'begin pro_lee01(:a,:b,:cur_01 ); end;';
  OraQuery1.SQL.Clear;
  OraQuery1.SQL.Add(s);
  OraQuery1.AutoCommit := false;
  OraQuery1.FetchAll := true;
  OraQuery1.ParamByName('a').value := 4;
  OraQuery1.ParamByName('b').ParamType := ptoutput;
  OraQuery1.ParamByName('b').DataType:= ftinteger;

OraQuery1.ParamByName('cur_01').ParamType := ptoutput;
  OraQuery1.ParamByName('cur_01').DataType:= ftcursor;
  OraQuery1.Open;

showmessage(OraQuery1.ParamByName('b').AsString);   //显示返回值
  ShowValue(OraQuery1, Button8.Caption);
end;

delphi调用oracle存储过程(ODAC)的更多相关文章

  1. MyBatis调用Oracle存储过程

    MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type= ...

  2. Java调用oracle存储过程通过游标返回临时表数据

    注:本文来源于 <  Java调用oracle存储过程通过游标返回临时表数据   > Java调用oracle存储过程通过游标返回临时表数据 项目开发过程中,不可避免的会用到存储过程返回结 ...

  3. C#调用Oracle存储过程

    C#调用Oracle存储过程的代码如下所示: using System; using System.Collections.Generic; using System.Collections.Obje ...

  4. C#调用 oracle存储过程

    C#调用oracle 存储过程与调用Sql server存储过程类似,比较简单:直接给出示例: /// <summary> /// 判断物料类型是不是总部管控 /// </summa ...

  5. 123 c#调用oracle存储过程返回数据集 --通过oracle存储过程返回数据集

    c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS  ...

  6. c#调用oracle存储过程返回数据集

    c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS  ...

  7. C#调用Oracle存储过程的方法

    C#调用Oracle存储过程的方法 准备: 环境:pl/sql+oracle9i+vs2008 创建表test: create table TEST(  ID      NUMBER,//编号  NA ...

  8. Oracle创建表语句(Create table)语法详解及示例、、 C# 调用Oracle 存储过程返回数据集 实例

    Oracle创建表语句(Create table)语法详解及示例 2010-06-28 13:59:13|  分类: Oracle PL/SQL|字号 订阅 创建表(Create table)语法详解 ...

  9. python调用oracle存储过程

    oracle 存储过程 python调用oracle存储过程 -- 通过cx_Oracle连接 import cx_Oracle # 连接数据库 orcl_engine = 'scott/s123@x ...

随机推荐

  1. SQL Server xtype的介绍

    sysobjects 表 在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等)在表中占一行.只有在 tempdb 内,每个临时对象才在该表中占一行. 列名 数据类型 描述 name sys ...

  2. Fragment中获取Activity的Context (转)

    Fragment中获取Activity的Context时只需要this.getActivity()即可.     而不是许多人说的this.getActivity().getApplicationCo ...

  3. CentOS7 Install Shipyard

    # 采集木jj 原文:http://www.cnblogs.com/caoguo/p/5735189.html # CentOS7 Install Shipyard# yum install dock ...

  4. flask的基本搭建

    from flask import Flask app = Flask(__name__) @app.route("/")def index(): return "ok& ...

  5. CAD参数绘制对齐标注(网页版)

    主要用到函数说明: _DMxDrawX::DrawDimAligned 绘制一个对齐标注.详细说明如下: 参数 说明 DOUBLE dExtLine1PointX 第一条界线开始点X值 DOUBLE ...

  6. caffe编译

    用make -j带一个参数,可以把项目在进行并行编译,比如在一台双核的机器上,完全可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源 也就是说make -j ...

  7. 06CSS列表

    CSS列表 列表样式——list-style-type list-style-type:<属性值> disc   黑圆点 circle 空心圆点 square   小黑方块 decimal ...

  8. shell 循环 read line

    cat dockerlist |while read line;do docker rmi  $line ;done

  9. 基于jQuery的用户界面插件集合---EasyUI

    easyui是一种基于jQuery的用户界面插件集合.为创建现代化,互动,JavaScript应用程序,提供必要的功能.使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以 ...

  10. Dijkstra+set堆优化局部模板

    这是某天2018-10-25写的某题(P1613-luogu)的局部代码,目的是方便自己记忆一些细节,所以这里不过多赘述算法原理或题目 邻接矩阵mapp表示有向图 struct ELE { int i ...