作者b60413 (None)
看板Database
标题[SQL ] MySQL PROCEDURE
时间Fri Aug 10 11:26:54 2012
最近开始在玩MySQL的Procedure跟Function功能,
我想要做的是去检查一个Table是否存在,
存在则去捞取资料,否则就不去捞取资料,
想要去取两个Table的资料做UNION或JOIN,
不知道应该如何去做,
( call test('tb1') ) UNION ( call test('tb2') )好像是行不通的,
也不太清楚要怎样去设定OUT Parameter....才可以取得SELECT的结果,
以下是我自己测试写的Procedure,
还请知道的人帮忙解惑,
谢谢.
delimiter //
CREATE PROCEDURE test(IN num VARCHAR(10))
BEGIN
IF
(
(
SELECT table_name FROM information_schema.tables
WHERE table_schema = 'test' AND table_name = num
) = num
)
THEN
SET @sql_text = CONCAT('SELECT * FROM ',num);
PREPARE stmt FROM @sql_text;
EXECUTE stmt;
END IF;
END//
--
http://www.myspace.com/soundtrack0220
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.166.12