国产探花免费观看_亚洲丰满少妇自慰呻吟_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表達式返回恰當的數據類型,而且無需進行數據類型轉換。但應該注意的是,只有當指定的列不需要進行計算時,索引才能夠優化排序操作。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉禾县| 湄潭县| 锦州市| 佛冈县| 德化县| 陇西县| 砚山县| 临夏县| 开原市| 旌德县| 游戏| 深泽县| 武穴市| 三穗县| 顺义区| 临高县| 杨浦区| 剑河县| 邹城市| 茌平县| 拉萨市| 兴和县| 西安市| 盘锦市| 明水县| 姚安县| 巫山县| 丰原市| 合水县| 丰宁| 桓仁| 渑池县| 额济纳旗| 清徐县| 西城区| 通江县| 四川省| 临漳县| 绍兴县| 陆川县| 城步|