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

首頁 > 開發 > 綜合 > 正文

sqlserver 2008存儲過程 多個可空條件任意組合

2024-07-21 02:46:59
字體:
來源:轉載
供稿:網友
sqlserver 2008存儲過程 多個可空條件任意組合 Posted on 2015-05-22 17:54 howking 閱讀(...) 評論(...) 編輯 收藏

很多程序員在實際開發中,經常遇到這種情況,列表上方有很多條件,包含下拉框,輸入框等等,這些條件都可以不輸入,如果我們需要寫一個存儲過程,很多條件挨個判斷是否為空,且進行任意組合,任何一個開發人員都會瘋的。閑話少說,接下來舉例說明:

create PRoc myproc

@condition1 varchar(50)=null,

@condition2 int=null,

@condition3 bit

as

select col1,col2 from table

where col3=isnull(@condition1,col3)

and col4=isnull(@condition2,col4)

and col5=isnull(@condition3,col5)

以上代碼中用到的ISNULL函數是sqlserver的內置函數,如果第一個參數為null,就會返回后面的值,如果where 后有col3=col3這樣的東西,可能會影響一些效率,但是畢竟解決問題了。美中不足的是,這個內置函數只在2008(含)以上版本里有,用2005的,趕緊升級吧。

也有人在存儲過程里拼接sql 字符串,然后使用exec來執行字符串,存儲過程的優勢就是其已經通過編譯了,速度比較快,一旦用exec來執行字符串,仍舊會比較慢,因為數據庫要先編譯你的字符串。

以上是個人淺見,歡迎拍磚。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 独山县| 河东区| 福安市| 娄底市| 即墨市| 遂溪县| 浪卡子县| 秦皇岛市| 德惠市| 满洲里市| 乾安县| 闽侯县| 广丰县| 龙游县| 博野县| 新竹市| 西昌市| 县级市| 武冈市| 扎鲁特旗| 鄂伦春自治旗| 荔浦县| 荃湾区| 新田县| 富蕴县| 瓦房店市| 南丹县| 龙山县| 章丘市| 分宜县| 兴城市| 准格尔旗| 疏附县| 比如县| 桃江县| 西宁市| 黎城县| 临西县| 临泉县| 衡南县| 灯塔市|