作者kisha024 (4545454554)
看板Database
標題[SQL]在sql server的View中執行stored procedure
時間Wed Nov 18 11:08:40 2015
資料庫名稱:sql server
資料庫版本:2014
內容/問題描述:
各位好
我需要兜出一個複雜且中繼的table 中繼是指會再用此table與其他表格join
因為複雜 所以我想用stored procedure來兜出
因為要與其他表格join 所以我想把結果放在view裡面
假設stored procedure寫好了 名稱是sp123 且不帶參數
我本來想view的語法直接寫 exec sp123 就好了 但發現不能這樣寫
後來有找到 回傳值是資料表(Table)的Function
但這種Function但也不能接受exec sp123的寫法
本來想把stored procedure裡面寫的那些東西在Function裡面再寫一遍好了
但沒辦法 Function的限制比較多 不能用暫存表格#table等
所以原本stored procedure裡面寫的東西無法在Function裡面寫出來
請問各位 還有其他方式可以解決這樣的問題嗎?
謝謝
1F:推 clonk: function內 declare @temp table (col1 int) 11/18 14:48
謝謝 除此 我發現function的其中1個限制是 不能隨便select資料
除非select出來的資料 是要insert到要return的那個table 我是參考下面連結的
http://deanma.blogspot.tw/2012/04/ms-sql-function-table.html
2F:推 a926: Function可以這樣用SELECT * FROM fn({parameter) 11/18 15:23
3F:→ a926: try看看吧 :) 11/18 15:23
謝謝 如果fn寫好了 我知道可以這樣用
但是我的問題是無法把stored procedure裡面原有的東西寫到fn
※ 編輯: kisha024 (140.127.81.14), 11/19/2015 10:26:24
4F:→ clonk: 你試過了? 11/24 09:18
5F:→ kisha024: 我試過了 11/30 14:18