我有一個數據庫,其中創建臨時表,這些表名隨機生成並保存在Checkouts.unid中。我想放棄所有這些表格並截斷表格Checkout。我以爲niftiest解決方案將是一個過程,但它不會工作:程序中的光標不返回任何值
DROP PROCEDURE IF EXISTS `spCheckoutsCleanup`;
CREATE PROCEDURE `spCheckoutsCleanup`()
SQL SECURITY INVOKER
BEGIN
DECLARE `t` VARCHAR(64);
DECLARE `ch` CURSOR FOR SELECT `unid` FROM `Checkouts`;
OPEN `ch`;
drop_tables: LOOP
FETCH `ch` INTO `t`;
DROP TABLE IF EXISTS `t`;
END LOOP;
CLOSE `ch`;
TRUNCATE TABLE `Checkouts`;
END
我總是得到「沒有任何數據 - 零行獲取,選擇,或加工」,雖然這些表在那裏,該表簽出不雖然空了。