国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

終于以一種奇怪的方式搞定了Oracle的臨時(shí)表問題

瀏覽:8日期:2023-11-18 08:45:53
程序中經(jīng)常需要在一個(gè)主鍵范圍內(nèi)進(jìn)行子查詢,而這個(gè)范圍是在前臺(tái)中動(dòng)態(tài)生成的,所以傳過來的只能是一個(gè)字符串格式的確定這個(gè)主鍵范圍的sql語(yǔ)句.以前的做法是在sp中再根據(jù)這個(gè)sql語(yǔ)句拼出來返回最終結(jié)果的更大的語(yǔ)句.發(fā)現(xiàn)這樣子的語(yǔ)句往往效率很低,而且數(shù)據(jù)庫(kù)的改動(dòng)(例如列名)也往往無法在包編譯時(shí)被檢查出來.解決的思路是先把這個(gè)主鍵范圍的值查詢出來,再用這個(gè)查詢的結(jié)果和其他的表作鏈接,這樣最終的sql就不再是字符串格式了.因?yàn)橹麈I范圍相對(duì)比較小,效率也會(huì)提高很多.于是求助于Oracle的臨時(shí)表,這看起來是存放主鍵查詢結(jié)果的理想的地方. 首先想到的是事務(wù)型的,但是發(fā)現(xiàn)在前臺(tái)的.Net程序執(zhí)行了存儲(chǔ)過程之后,默認(rèn)執(zhí)行了commit操作,所以返回的結(jié)果都是'對(duì)象已經(jīng)不存在'.還沒有搞懂游標(biāo)的返回機(jī)制,但這看起來有些釜底抽薪的意思.因此轉(zhuǎn)而投奔會(huì)話型的,查詢的結(jié)果在事務(wù)完成后仍會(huì)予以保留,只要連接沒有斷調(diào) -- 這在我們這個(gè)C/S架構(gòu)的程序中是可以滿足的. 一個(gè)新的問題又出來的,就是如何保證兩次執(zhí)行不會(huì)發(fā)生影響. 現(xiàn)在的做法是簡(jiǎn)單的在每次執(zhí)行前truncate掉臨時(shí)表,這樣,每一次執(zhí)行時(shí)候,存儲(chǔ)過程所看到的都是一張空表. 至此,大部分的問題便以這種頗為怪異的方式解決了.但是問題仍然是有的.就是并發(fā)的問題.因?yàn)槭荂/S架構(gòu),當(dāng)前每一個(gè)連接是局限在一個(gè)客戶端內(nèi),而在同一個(gè)客戶端產(chǎn)生這類并發(fā)的機(jī)會(huì)相對(duì)較小(不是沒有).剛剛想到一個(gè)可能的思路是每一次查詢完畢后,先去到數(shù)據(jù),然后立即關(guān)閉連接,這樣臨時(shí)表中的數(shù)據(jù)就會(huì)被自動(dòng)截?cái)?明天去試一試.一段小插曲,一個(gè)哥們?cè)诰W(wǎng)上搜oracle臨時(shí)表相關(guān)的材料,發(fā)給我一段類似下面的代碼:declare @table1 Table (cust_id int not null)insert into @table1 select cust_id from customer總覺得看著眼熟,但是在oracle中怎么編譯都不通過.一直到我把目光盯住了那個(gè)@ ..... 我終于明白了,這個(gè)是SqlServer中的代碼,ft啊,半年不用就退化到這個(gè)地步了
主站蜘蛛池模板: 国产情侣普通话刺激对白 | 三级a毛片| 免费人成年短视频在线观看免费网站 | 免费a级毛片网站 | 国产人成精品 | 好吊妞国产欧美日韩视频 | 国产日韩久久 | 欧美成人免费xxx大片 | 中文字幕日韩精品有码视频 | 俄罗斯a级毛片 | 欧美日韩一区二区三区在线播放 | 在线观看免费毛片 | 日本一级特黄a大片 | 欧美一区二区三区不卡片 | 欧美在线观看成人高清视频 | 一区二区三区高清在线 | 黑人黄色毛片 | 亚洲欧洲日产国码二区在线 | 国产精品莉莉欧美自在线线 | a级片在线免费观看 | a国产精品 | 香港激情黄三级在线视频 | 毛片的网址 | 成年大片免费视频播放手机不卡 | 在线日韩欧美一区二区三区 | 色视频网站大全免费 | 全黄a一级毛片 | 看全色黄大色黄大片女图片 | 日本成人在线视频网站 | 亚洲高清二区 | 国产精品二区页在线播放 | 在线视频一区二区三区四区 | 一级特黄aa大片欧美网站 | 美女张开腿让男人操 | 手机看片日韩日韩 | 欧美日韩一级二级三级 | 一级午夜a毛片免费视频 | 国产一区二区在线观看免费 | 在线观看精品国内福利视频 | 自拍视频啪| 日韩精品一区二区三区中文字幕 |