国产探花免费观看_亚洲丰满少妇自慰呻吟_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來執行字符串,仍舊會比較慢,因為數據庫要先編譯你的字符串。

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 建水县| 报价| 楚雄市| 镇雄县| 普安县| 尼木县| 泰兴市| 阿瓦提县| 合川市| 区。| 刚察县| 军事| 大姚县| 西乌| 钟山县| 池州市| 独山县| 宝丰县| 民乐县| 北京市| 吉安县| 临海市| 康定县| 灵寿县| 舞钢市| 万全县| 上虞市| 壤塘县| 景泰县| 穆棱市| 太和县| 建瓯市| 新绛县| 前郭尔| 岫岩| 赤城县| 连城县| 响水县| 鹤山市| 平利县| 罗源县|