国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

使用Sybase數(shù)據(jù)庫(kù)的現(xiàn)有表實(shí)現(xiàn)應(yīng)用方法

2024-07-21 02:43:46
字體:
供稿:網(wǎng)友
關(guān)于Sybase ASE中存儲(chǔ)過程嵌套調(diào)用,特別是主存儲(chǔ)過程要使用子存儲(chǔ)過程返回的結(jié)果集的情況,由于Sybase 中不支持T-SQL 中的行集函數(shù)openrowset和opendatasource兩種方法,而且,目前版本(Sybase 12.5)不支持用戶自定義函數(shù),因此,給引用被調(diào)用子存儲(chǔ)過程返回的結(jié)果集造成了很大的不方便性。這里介紹使用Sybase“現(xiàn)有表”來實(shí)現(xiàn)應(yīng)用方法。

例子:

首先建立一個(gè)存儲(chǔ)過程p_Test,返回一個(gè)結(jié)果集

create PRocedure p_Test

@RCNID char(10)

as

begin

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

return

end

再建立一個(gè)存儲(chǔ)過程,對(duì)p_Test存儲(chǔ)過程進(jìn)行嵌套調(diào)用,使用p_Test返回的結(jié)果集

Create procedure p_Main

as

begin

create existing table almsdb.dbo.tt /*為要調(diào)用的存儲(chǔ)過程建立現(xiàn)有表*/

(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' /*使用現(xiàn)有表--存儲(chǔ)過程返回的記錄集*/

drop table tt

return

end

注釋:

almsdb.dbo.tt: 數(shù)據(jù)庫(kù)名.擁有者.表名(其實(shí)是一個(gè)視圖名稱--只讀)

local :Sybase ASE 數(shù)據(jù)庫(kù)服務(wù)器名稱(也可以是遠(yuǎn)程鏈接數(shù)據(jù)庫(kù)服務(wù)器名)

建立方法:

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

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

注意上面兩個(gè)系統(tǒng)存儲(chǔ)過程的執(zhí)行需要dbo的操作權(quán)限,由數(shù)據(jù)庫(kù)管理員配制好就可使用。

現(xiàn)有表almsdb.dbo.tt的定義與存儲(chǔ)過程返回的結(jié)果集相對(duì)應(yīng),包括數(shù)據(jù)類型、長(zhǎng)度/精確度、小數(shù)點(diǎn)后的位數(shù)(scale)以及 null/not null 等特征。

現(xiàn)有表almsdb.dbo.tt只能接收存儲(chǔ)過程返回的第一個(gè)結(jié)果集。

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

改進(jìn)一:

描述:為了能夠并行執(zhí)行,將現(xiàn)有表改為臨時(shí)現(xiàn)有表almsdb.dbo.tt-->#tt

這樣存儲(chǔ)過程并行執(zhí)行時(shí)就不會(huì)發(fā)生并發(fā)問題

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

改進(jìn)二:

描述:

關(guān)于存儲(chǔ)過程的參數(shù),如何實(shí)現(xiàn)包含參數(shù)的存儲(chǔ)過程。在現(xiàn)有表中使用“_”的列來定義存儲(chǔ)過程的參數(shù),這些參數(shù)列不會(huì)在結(jié)果集中出現(xiàn),但可以查詢引用,CIS將通過名為@+列名的參數(shù)將搜索自變量傳遞到存儲(chǔ)過程中。

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

即將上面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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 五河县| 嵊泗县| 右玉县| 团风县| 潍坊市| 荆州市| 白银市| 从江县| 聂荣县| 封丘县| 深州市| 新邵县| 赤水市| 吉木萨尔县| 左权县| 类乌齐县| 曲阳县| 宣化县| 楚雄市| 石棉县| 清丰县| 翁源县| 柳河县| 繁昌县| 甘肃省| 金坛市| 嵩明县| 友谊县| 连江县| 乐至县| 新疆| 偏关县| 南城县| 长海县| 滁州市| 青阳县| 雷波县| 犍为县| 碌曲县| 徐州市| 古蔺县|