我想知道如何DROP TABLE IF EXISTS
在MySQL存储过程中使用.我正在编写一个相当长的mySQL存储过程,它将执行大量工作,然后加载带有结果的临时表.但是,我无法完成这项工作.
我已经看到了几种方法来做临时表的事情.基本上,您要么创建临时表,要对其进行处理,然后将其放在最后...或者如果它存在则将其删除,创建它,然后对其进行处理.
我更喜欢第二种方法,所以你总是开始干净,这是对表存在的内置检查.但是,我似乎无法让它工作:
这是我的例子:
这个作品:
DELIMITER//
DROP PROCEDURE IF EXISTS pTest//
CREATE PROCEDURE pTest()
BEGIN
CREATE TEMPORARY TABLE tblTest (
OrderDate varchar(200)
);
DROP TEMPORARY TABLE tblTest;
END//
DELIMITER ;
CALL pTest();
Run Code Online (Sandbox Code Playgroud)
这个作品:
DELIMITER//
DROP PROCEDURE IF EXISTS pTest//
CREATE PROCEDURE pTest()
BEGIN
DROP TEMPORARY TABLE tblTest;
CREATE TEMPORARY TABLE tblTest (
OrderDate varchar(200)
);
END//
DELIMITER ;
CALL pTest();
Run Code Online (Sandbox Code Playgroud)
这不是:
DELIMITER//
DROP PROCEDURE IF EXISTS pTest//
CREATE PROCEDURE pTest()
BEGIN
DROP TEMPORARY TABLE IF …
Run Code Online (Sandbox Code Playgroud)