※ 引述《b60413 (None)》之銘言:
: 最近開始在玩MySQL的Procedure跟Function功能,
: 我想要做的是去檢查一個Table是否存在,
: 存在則去撈取資料,否則就不去撈取資料,
: 想要去取兩個Table的資料做UNION或JOIN,
: 不知道應該如何去做,
: ( call test('tb1') ) UNION ( call test('tb2') )好像是行不通的,
: 也不太清楚要怎樣去設定OUT Parameter....才可以取得SELECT的結果,
: 以下是我自己測試寫的Procedure
: ...
就如您所說的,這樣是行不通的。 :-)
如果 MySQL 的 function 可以傳回 table,我們就可以像這樣:
select ... from funA() join FunB() on ....
可惜,MySQL 的 function 目前只能傳回簡單的純量型態。而您附的
procedure 就算傳回資料,後來也 join / union 不到一塊兒。
所以,我建議您換個解法吧:
MySQL 的 function 內部可以使用 Insert / Update / Delete 指令,包括
insert ... select 句型也接受。因此,要不要考慮在 function 內部將資
料匯入到臨時性資料表,等程序結束,再從臨時性資料表取出整理好的資料。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.41.107.13