起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 303|回复: 11

Oracle存储过程问题**

[复制链接]
发表于 2007-7-26 11:41:48 | 显示全部楼层 |阅读模式
平台如何调用Oracle存储过程时如何传入类型是Recoed的参数
存储过程定义如下:
create or replace procedure test_rowtype(prm_key_in_row   in key_in%rowtype,
                                         prm_app          out number) is
begin
  if prm_key_in_row.aac001 ='2500000640' then
     prm_app := 100;
  else
     prm_app := -1;
  end if;
end test_rowtype;
回复

使用道具 举报

 楼主| 发表于 2007-7-26 12:00:31 | 显示全部楼层
传入类型写错了应该是RECORD类型
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-26 13:52:15 | 显示全部楼层
有结果没,应该怎么做,给个回复
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-26 14:47:29 | 显示全部楼层
不管什么结果也给个回复,到底能不能做
回复 支持 反对

使用道具 举报

发表于 2007-7-26 14:49:52 | 显示全部楼层
正在处理,有结果马上跟帖反馈
回复 支持 反对

使用道具 举报

发表于 2007-7-26 15:59:56 | 显示全部楼层
抱歉,此种类型的存储过程平台不支持。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-26 16:29:27 | 显示全部楼层
晕,我们好多存储过程有好多输入参数都是这种类型,因为分开写的话可能会写出60多个参数,有没有其他解决方法
回复 支持 反对

使用道具 举报

发表于 2007-7-26 16:39:31 | 显示全部楼层
楼主可以做个临时表,将数据存入临时表,然后在存储过程中定义记录变量,然后在存储过程中通过SQL读取临时表的记录来读取传入参数。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-26 17:06:49 | 显示全部楼层
但是用临时表有个问题,并发量大的时候处理起来就慢很多,而且目前要用到这种参的存储过各并发量都不小
回复 支持 反对

使用道具 举报

发表于 2007-7-26 17:14:08 | 显示全部楼层
抱歉,暂时没有其他方法。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-13 02:52 , Processed in 0.036187 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表