看板 Database 關於我們 聯絡資訊
※ 引述《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