正文
oracle调用存储过程返回,oracle调用存储过程语句
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
如何调用一个Oracle存储过程返回一个或多个REF游标,使用ADO从C_百度知...
是不是可以把那个 存储过程 (参数是游标)的。修改为 函数, 返回游标。如果可以修改的话, 那么你参考一下 下面这个例子代码 -- 测试表数据。
如果一个procedure要返回一个结果集,那么要引用游标来处理这个结果集。
第二,你调用的语句有问题,在你的存储过程中,OPEN 已经打开了游标,而你采用FOR游标,它又要去打开一次,建议你采用简单得LOOP去遍历游标。
下面是我以前用的,应该还有好方法,只是我用了这一种。这个为oracle的,其他的应该类似,把oracleClient这个东西换换,就可以看见说明了。
for t_name in (select ...) loop 这个是隐式游标,相当于一个结果集,隐式Cursor由系统自动打开和关闭。exit when %notfound是配合fetch使用,没有fetch就不需要。
你这样写就可以了,ORACLE存储过程不需要返回值,只要参数是out就代表为输出参数了,你给它传一个游标进去,执行完,这个游标的值就是你查询的值了。
如何在Delphi中调用oracle的存储过程返回数据集
存储过程不返回记录集,只返回参数。TClientDataSet.CommandText:= Declare OutputData int Excute StoredProc1 OutputData Output 如许就可以返回输出的参数了。以上调用输出可能有错,但语句是对的,你式一下。
Delphi作为强大的数据库前端开发工具,提供了很多数据库存取方式的封装控件。
需要注意的是,当在单元格中用call函数调用存储过程时,执行存储过程,返回结果数据集合,只能返回单列数据,如果存储过程返回多个 数据集的数据来自存储过程。sql语句执行的时候要先编译,然后执行。
delphi专门有一个存储过程控件,里面定义了存储过程的参数 如果是OUTPUT类型的,就可以得到远端SQL执行结果。如果你得到的是个多条多列记录,那直接用QUERY就可以。
oracle中在存储过程中怎么返回值
1、存储过程 的语句格式,所以这个需要你根据实际要求换种思路做吧。第二个问题:sqlserver :a+char(10)+boracle:a|| chr(10)|| bsqlserver中的 char函数 在oracle中是chr,参数和 返回值 是一样的。
2、oracle 跟ms不一样。要返回表的记录数据,只能通过游标,或者自定义对象数组在存储过程中组装好后返回。
3、in date )as 。。定义一个OUT参数即可。后面调用 需要先定义一个相应类型的变量,然后才能获取到存储过程返回的值。一般可以返回游标,如例子中的,或者执行结果之类的。如果只返回一个单行值,建议用函数吧。
关于oracle调用存储过程返回和oracle调用存储过程语句的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。