日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

同一個(gè)存儲(chǔ)過(guò)程中,不能多次select into 到同一

系統(tǒng) 2007 0

表記錄的插入方式有兩種。其一,先create table 再 insert into from ...。其二, 直接 select into。

第一種方式,由于要記錄日志,因此IO消耗更多,duration 更長(zhǎng)。一般來(lái)說(shuō)能用 select into 的,就盡量不要用 insert into的方式。

有時(shí),存儲(chǔ)過(guò)程中會(huì)需要,根據(jù)不同的條件,從不同的表中獲取數(shù)據(jù)放入一個(gè)臨時(shí)表。看起來(lái),這樣就需要在不同的分支語(yǔ)句中,寫多個(gè)對(duì)同一張的 select into 語(yǔ)句。

例如:

??? if (@b=1)

??? begin

???????? select? a.id, a.name, b.price

????????? into #temp

????????? from A inner join B on (a.id=b.id)

??? end else if (@b=2)

??? begin

?

???????? select? d.id, d.name, c.price

????????? into #temp

????????? from D inner join C on (d.id=c.id)

??? end?

但創(chuàng)建存儲(chǔ)過(guò)程時(shí)會(huì)報(bào)錯(cuò),說(shuō) #temp 表已經(jīng)存在。

怎么解決呢?

方法一:用第一種方式,問(wèn)題是性能差;

方法二:偷懶一些,但性能更好的方法

?

???????? select? a.id, a.name, b.price

????????? into #tempA

????????? from A inner join B on (@b=1 and a.id=b.id)

???????? where @b=1

?

?

?

???????? select? d.id, d.name, c.price

????????? into #tempB

????????? from D inner join C on (@b=2 and d.id=c.id)

????????? where @b=2


???????? select *

???????? into #temp

???????? from ( select * from #tempA union all select * from #tempB )

方法三:用動(dòng)態(tài)sql的辦法,把所有的語(yǔ)句都拼接好。好處是性能比方法二好,但缺點(diǎn)也很明顯,可讀性不強(qiáng);

方法四:其實(shí),不同的功能,還是最好分成不同的存儲(chǔ)過(guò)程,優(yōu)化,維護(hù)都更簡(jiǎn)單。


不知道有沒(méi)有更好的方式?



??

同一個(gè)存儲(chǔ)過(guò)程中,不能多次select into 到同一張表的問(wèn)題


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 宜阳县| 买车| 全南县| 庄浪县| 南昌县| 阿拉善右旗| 革吉县| 吐鲁番市| 确山县| 郧西县| 阜城县| 牡丹江市| 兴和县| 巨鹿县| 洞头县| 元朗区| 云阳县| 拜泉县| 鄂尔多斯市| 张家口市| 赫章县| 彭水| 内乡县| 洛浦县| 漯河市| 大理市| 从江县| 海晏县| 江山市| 临邑县| 宣威市| 康保县| 旅游| 靖江市| 九江市| 宝清县| 玉龙| 罗田县| 郸城县| 隆林| 化隆|