小编Coa*_*ohn的帖子

如何在MySQL存储过程中使用DROP TABLE IF EXISTS

我想知道如何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)

mysql stored-procedures

17
推荐指数
2
解决办法
7万
查看次数

标签 统计

mysql ×1

stored-procedures ×1