亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

SQL語句查詢結果額外添加一列序號自動增加

系統 2431 0
?
?

一、讓SELECT查詢結果額外增加自遞的偽序號列
在基于數據庫的系統的開發過程中,有時需要讓select返回的查詢結果中存在一列實際的數據庫表中并不存在的序號列,即在查詢結果中額外增加自增的偽序號列。從網絡上可以找到一些解決方案,但總結起來主要有三種:
1.使用數據庫自帶的序號函數實現
Oracle提供的ROWNUM,SQL Server 2005提供的RANK,ROW_NUMBER都可以比較簡單地實現這種需求,不過這種方法對我并不適用,因為我用的是SQL SERVER 2000。

2.使用臨時表實現
SQL的IDENTITY函數可以提供自增的序號,但只能用在帶有INTO table子句的SELECT語句中,所以如果可以使用臨時表的情況下可以使用這種實現方法。和第一種方法一樣,這種實現方法對我也不適用,因為現在的項目規定不能使用臨時表。
eg:
SELECT IDENTITY(INT,1,1) as seq,field1,field2,...,fieldn INTO tmpTableName FROM srcTableName;
SELECT * FROM tmpTableName;
DROP TABLE tmpTableName;

3.使用SQL標準語法實現
第三種思路是:將結果集中能確定一行數據唯一性的某列或多列組合成標識符,再把結果集中小于等于標識符的記錄數合計成一列,從而滿足需求。
eg:
SELECT (SELECT COUNT(id) FROM srcTableName AS tbl1 WHERE tbl1.id<=tbl2.id) as seq,field1,field2,...,fieldn
FROM srcTableName AS tbl2 ORDER BY 1 ;
二、使用INSERT添加行
INSERT語句可給表添加一個或多個新行,增加單行的語法沒什么可說的,此處描述的是使用多行的情況,語法為:
INSERT INTO destTable (field1,field2,...,fieldn) FROM SELECT field1,field2,...,fieldn FROM srcTable
在維護系統時,經常能在遺留代碼里發現這樣的新增多條記錄實現方式:
1.循環構造多條插入語句,再執行一次批處理保存。
2.循環構造多條插入語句,每條語句執行一次保存。
對于使用第一種方式來新增從其他數據庫表中選擇的記錄的做法,我覺得是對數據庫資源的浪費,因為通常情況下這種實現方式完全可以通過一條INSERT語句實現。
可能你會說主鍵的生成是一個問題,但我并不認為這會成為問題,在select時生成主鍵并不困難,上文就提到了內容就可以在此處使用。對于采用第二種方法的“先輩”,我只能徹底無語,因為這種方式根本就沒有考慮數據庫的執行效率和事務的完整性,一旦保存過程被中斷就會導致數據的不完整問題的出現。

SQL語句查詢結果額外添加一列序號自動增加


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久草男人天堂 | 91精品久久久久久久久久小网站 | 67194在线午夜亚洲 | 成人影院欧美大片免费看 | 亚洲一区二区三区首页 | 99热久久这里只精品国产ww | 一级特级片 | 狠狠的搞 | 亚洲 欧美 卡通 在线 另类 | japanese乱子欧美 | 天天操夜夜操夜夜操 | 亚洲欧美色综合精品 | 成人国产精品 | 欧美α片无限看在线观看免费 | 欧美一级毛片片aa视频 | 国产亚洲精品麻豆一区二区 | 久久鸭综合久久国产 | 理论毛片 | 国产成人精品s8p视频 | 国产在视频线精品www666 | 狠狠色噜噜狠狠狠狠网站视频 | 亚洲五月婷婷 | 天天操天天射天天插 | 国产91一区二这在线播放 | 亚洲成a人v | 久久亚洲国产最新网站 | 国产精品久久久久激情影院 | 日日摸夜夜添夜夜添欧美毛片 | 国产欧美日韩精品一区二区三区 | 色大18成网站www在线观看 | 欧美777| 亚洲精品一区二区在线观看 | 日韩视频久久 | 五月中文字幕 | 国产成人综合高清在线观看 | 欧美亚洲国产精品久久第一页 | 亚洲国产精品久久久天堂麻豆 | 思思久久99热这里只有精品66 | 成人久久18免费网站游戏 | 四虎影视久久久免费 | 911精品国产亚洲日本美国韩国 |