分享
 
 
 

使用Sybase数据库的现有表实现应用方法

王朝other·作者佚名  2008-06-26
窄屏简体版  字體: |||超大  

关于Sybase ASE中存储过程嵌套调用,特别是主存储过程要使用子存储过程返回的结果集的情况,由于Sybase 中不支持T-SQL 中的行集函数openrowset和opendatasource两种方法,而且,目前版本(Sybase 12.5)不支持用户自定义函数,因此,给引用被调用子存储过程返回的结果集造成了很大的不方便性。这里介绍使用Sybase“现有表”来实现应用方法。

例子:

首先建立一个存储过程p_Test,返回一个结果集

create procedure p_Test

@RCNID char(10)

as

begin

select RCNID,RCNDTE,NODENAM from JK_RCNNODE WHERE RCNID=@RCNID

return

end

再建立一个存储过程,对p_Test存储过程进行嵌套调用,使用p_Test返回的结果集

Create procedure p_Main

as

begin

create existing table almsdb.dbo.tt /*为要调用的存储过程建立现有表*/

(RCNID char(10) null,

RCNDTE char(10) null,

NODENAM varchar(100) null,

_RCNID char(10) null

)

external procedure

at 'local.almsdb.dbo.p_Test '

select * from tt where RCNID='0000011312' /*使用现有表--存储过程返回的记录集*/

drop table tt

return

end

注释:

almsdb.dbo.tt: 数据库名.拥有者.表名(其实是一个视图名称--只读)

local :Sybase ASE 数据库服务器名称(也可以是远程链接数据库服务器名)

建立方法:

sp_addserver 'local', null, '10.232.27.147:4100'

sp_addexternlogin 'local', 'almsdbo', 'almsdbo', 'almsalms'

注意上面两个系统存储过程的执行需要dbo的操作权限,由数据库管理员配制好就可使用。

现有表almsdb.dbo.tt的定义与存储过程返回的结果集相对应,包括数据类型、长度/精确度、小数点后的位数(scale)以及 null/not null 等特征。

现有表almsdb.dbo.tt只能接收存储过程返回的第一个结果集。

/*******************************************/

改进一:

描述:为了能够并行执行,将现有表改为临时现有表almsdb.dbo.tt-->#tt

这样存储过程并行执行时就不会发生并发问题

/*******************************************/

改进二:

描述:

关于存储过程的参数,如何实现包含参数的存储过程。在现有表中使用“_”的列来定义存储过程的参数,这些参数列不会在结果集中出现,但可以查询引用,CIS将通过名为@+列名的参数将搜索自变量传递到存储过程中。

/********************************************/

即将上面p_Main过程更改为:

create existing table #tt

(RCNID char(10) null,

RCNDTE char(10) null,

NODENAM varchar(100) null,

_RCNID char(10) null

)

external procedure

at 'local.almsdb.dbo.p_Test '

select * from #tt where RCNID='0000011312'

drop table #tt

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有