气死我的存储过程和用户定义函数
生活随笔
收集整理的這篇文章主要介紹了
气死我的存储过程和用户定义函数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
這幾天在寫一個存儲過程和自定義函數(shù),功能很簡單,拼湊出一條SQL語句,然后執(zhí)行.就這么一個簡答的存儲過程,沒想到居然讓我氣憤良久.也許是剛剛開始用的原因,感覺別扭至極.
1.本來想全部用函數(shù)來實現(xiàn),既然能在存儲過程中調(diào)用函數(shù),那在函數(shù)中調(diào)用存儲過程應(yīng)該是很正常的事情,沒想到他說只能調(diào)用函數(shù)和擴展存儲過程,為什么 啊???之所以想調(diào)用存儲過程是因為它可以用output參數(shù)返回多個值,這樣比起函數(shù)只能有一個返回值用起來可愛很多,沒想到居然不調(diào)存儲過程.
2.沒辦法只能改用存儲過程調(diào)用存儲過程,我暈,問題又來了,存儲過程的output參數(shù)不能為Table類型,俺真是服了U啊.
3.就這些俺也就忍了,最可氣的是Varchar變量不能超過8000,俺的字符串遠遠超過這個限制,還好有text類型,可是一試才知道,text不能 做局部變量,沒關(guān)系,我把你當(dāng)做傳入?yún)?shù),你應(yīng)該沒意見了吧?好總算讓俺通過了,可是,我ft啊,給它賦值的時候才通知俺,Text不能給它賦值.我知道 可以把他們分開放到多個變量中,不過老大,這也太麻煩了吧!
真是不爽,在C#里拼這個SQL幾分鐘就搞定了,在這個里面搞了半天還沒弄出來,服了,最后還是決定不用這破玩意來做.
但愿SQL Server2005會好一些.
1.本來想全部用函數(shù)來實現(xiàn),既然能在存儲過程中調(diào)用函數(shù),那在函數(shù)中調(diào)用存儲過程應(yīng)該是很正常的事情,沒想到他說只能調(diào)用函數(shù)和擴展存儲過程,為什么 啊???之所以想調(diào)用存儲過程是因為它可以用output參數(shù)返回多個值,這樣比起函數(shù)只能有一個返回值用起來可愛很多,沒想到居然不調(diào)存儲過程.
2.沒辦法只能改用存儲過程調(diào)用存儲過程,我暈,問題又來了,存儲過程的output參數(shù)不能為Table類型,俺真是服了U啊.
3.就這些俺也就忍了,最可氣的是Varchar變量不能超過8000,俺的字符串遠遠超過這個限制,還好有text類型,可是一試才知道,text不能 做局部變量,沒關(guān)系,我把你當(dāng)做傳入?yún)?shù),你應(yīng)該沒意見了吧?好總算讓俺通過了,可是,我ft啊,給它賦值的時候才通知俺,Text不能給它賦值.我知道 可以把他們分開放到多個變量中,不過老大,這也太麻煩了吧!
真是不爽,在C#里拼這個SQL幾分鐘就搞定了,在這個里面搞了半天還沒弄出來,服了,最后還是決定不用這破玩意來做.
但愿SQL Server2005會好一些.
轉(zhuǎn)載于:https://www.cnblogs.com/Farseer1215/archive/2005/09/01/228254.html
總結(jié)
以上是生活随笔為你收集整理的气死我的存储过程和用户定义函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [ZT]国家颁布防沉迷系统 网游三小时后
- 下一篇: Octree(2)