作者TeemingVoid (TeemingVoid)
看板Database
标题Re: [SQL ] MySQL PROCEDURE
时间Fri Aug 10 20:19:18 2012
※ 引述《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