台灣最大程式設計社群網站
線上人數
1205
 
會員總數:241740
討論主題:187051
歡迎您免費加入會員
討論區列表 >> MS SQL >> 純輛函數傳入變數Table當參考的疑問
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
純輛函數傳入變數Table當參考的疑問
價值 : 50 QP  點閱數:182 回應數:6

樓主

永遠的初心者
初學者
136 188
1948 215
發送站內信

各位好
我有很多個SP,要一直回傳同樣的JSON格式
所以一直反覆出現像下面程式的迴圈

我現在想把上面那個寫用純量函數直接帶出JSON
因為純量函數內不能存#tempIAryItem這樣的Table
所以想直接傳入#tempIAryItem這種建出來的Table當作傳入參數

請問函數有可能這樣寫嗎?
我Google很久都只看到傳出Table,沒有找到直接傳入Table當參數的
感謝回覆

搜尋相關Tags的文章: [ 陣列 ] , [ 純量函數 ] ,
本篇文章發表於2017-12-18 17:43
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
你是要寫一個sp,專門負責產生json?
然後那個sp會去抓你先前寫的那些資料表值函示,做產生的動作?

但是你上面那段sql就已經把暫存砍掉了..

還是你要傳入的是table名稱,讓你的sp能夠直接抓table名稱去產生資料?

所以你要做的是?

另外,假設 #table不能用你可以考慮改用@table
本篇文章回覆於2017-12-19 09:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

永遠的初心者
檢舉此回應
TO Daimom
因為要防止出錯,我SP都會將使用完的#TEMPTable砍掉

確實是想利用SP要傳入Table去純量函示
然後自動編成JSON出來

因為SP有很多地方可能會一直去要..
同一隻SP因為編排位置不同,可能會出現2~3次一樣的迴圈
所以想弄成一個純量函示去Call
我先前也嘗試用@Table去試,但無法儲存純量函示,不知道是不是我寫錯
我先在研究一下,感謝
本篇文章回覆於2017-12-19 09:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
最後的目標都是轉成json是吧?

那你要不要改參考 這篇

因為我還真的搞不懂你的想法 XD
本篇文章回覆於2017-12-19 10:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

一頁書
檢舉此回應
如果妳的@I_ID 變數都是用',' 隔開 。 那為何不用PATINDEX('%,%',@I_ID),配合substring 就能切開回傳了
本篇文章回覆於2017-12-19 10:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

永遠的初心者
檢舉此回應
感謝Daimom 的指點
這個JSON方法我真的不知道SQL能這樣寫,又學到一招好招

我大概是要寫像類似下面的樣子
我傳入一個Table進去幫我東西帶給我


但我這樣帶入#temptable好像會錯@@

本篇文章回覆於2017-12-19 10:55
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
你參考一下 這篇
我試過了沒問題

本篇文章回覆於2017-12-20 16:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.