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

首頁 > 開發 > 綜合 > 正文

數據庫查詢結果的動態排序(6)

2024-07-21 02:30:59
字體:
來源:轉載
供稿:網友
  現在,如果我們用任意三個列名字之一作為參數調用存儲過程,存儲過程都能夠正確地返回結果。Richard Romley提出了一種巧妙的處理方法,如Listing 6所示。它不再要求我們搞清楚可能涉及的列數據類型。這種方法把ORDER BY子句分成三個獨立的CASE表達式,每一個表達式處理一個不同的列,避免了由于CASE只返回一種特定數據類型的能力而導致的問題。



【Listing 6:用列名字作為參數,Romley提出的方法】


ALTER PROC GetSortedShippers

@ColName AS sysname

AS


SELECT *

FROM Shippers

ORDER BY

CASE @ColName WHEN 'ShipperID'

THEN ShipperID ELSE NULL END,

CASE @ColName WHEN 'CompanyName'

THEN CompanyName ELSE NULL END,

CASE @ColName WHEN 'Phone'

THEN Phone ELSE NULL END





  按照這種方法編寫代碼,SQL Server能夠為每一個CASE表達式返回恰當的數據類型,而且無需進行數據類型轉換。但應該注意的是,只有當指定的列不需要進行計算時,索引才能夠優化排序操作。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 雷州市| 林芝县| 富源县| 临潭县| 镇远县| 平湖市| 郧西县| 礼泉县| 侯马市| 南漳县| 通化县| 昌乐县| 武胜县| 永福县| 崇仁县| 永清县| 论坛| 高邑县| 兴仁县| 阿巴嘎旗| 崇义县| 高雄市| 潞城市| 留坝县| 铁岭县| 桐乡市| 济宁市| 保康县| 四会市| 军事| 洛浦县| 土默特左旗| 资源县| 大庆市| 东宁县| 衡阳市| 治多县| 平武县| 乌鲁木齐市| 台南县| 阜康市|