在別人的博客中發現了一個好東西,是coalesce(),作者把它用來透視數據。但是他的用法需要先定義一個變量,再運行一條select語句,最後再運行另一條select語句。我嫌麻煩,想寫在一個function內隨時調用,然後在其他地方用做子查詢。
但很遺憾的是,create function內是不能寫exec或exec sp_executesql的,只能運行用戶自己定義的擴展存儲過程。所以只好作罷。
另外,子查詢也是不能調用存儲過程的,所以這個好東西只能用來實現它最原始的用途了:返回參數中第一個非空項。
比如
coalesce(null,null,1,2) --此語句返回1
雖然SQL Server很強大好用,但有時候這一類“內核級”限制還是難免的。期待微軟投入更多的開發力量,把SQL Server打造的更強大。
今天發現原來function內是不能使用exec()和非擴展存儲過程的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
SQL2000數據庫附加失敗提示:crosoft SQL-DMO(ODBC SQLState:HY000) 錯誤 3456:未能恢復日誌記錄(428653:5176:89) 解決方法教程
q77732767
2018-08-27 18:17:19
SQL/2000/2005/2008 數據庫狀態爲“可疑”的解決方法教程
q77732767
2018-08-27 18:17:19
SQLSERVER 清理日誌文件的方法
小武87
2018-08-27 17:16:31
關鍵表中數據備份防丟失的一個方法
自由的企鹅
2018-08-27 16:01:10
About linkedserver
自由的企鹅
2018-08-27 16:01:10
利用xp_cmdshell來ping某臺PC是否連通
自由的企鹅
2018-08-27 16:01:10
一次誤刪數據的恢復過程
exkaede
2018-08-27 14:55:22
1臺服務器2個SQL Server實例
exkaede
2018-08-27 14:55:22
SQL存儲過程參數內容通過XML格式傳送,把所有SQL語句操作放到一個存儲過程裏
sqlaqandy
2018-08-27 14:05:05
sqlserver 遊標使用
david412306524
2018-08-27 13:03:30
mssql數據庫碰到的問題解決
david412306524
2018-08-27 13:03:26
SQL Server 數據庫基礎編程
CCooles
2018-08-27 03:07:08
T-SQL概述(常量變量運算符)
CCooles
2018-08-27 03:07:05
用自交叉連接生成數字表
CCooles
2018-08-27 03:07:05