mysql - 如何在存储过程中编写多个select语句?

标签 mysql stored-procedures

DELIMITER $$
CREATE PROCEDURE abc(IN _uid VARCHAR(15))
BEGIN
    SELECT COUNT(filename)
    FROM    file
    WHERE userid = _uid
    UNION ALL
    SELECT COUNT(file)
    FROM    fileupload
    WHERE userid = _uid
END $$
DELIMITER ;

这是我的查询,因为我需要两个选择语句输出

但出现错误

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'END' at line 10

最佳答案

尝试:

mysql> DELIMITER $$

mysql> CREATE PROCEDURE abc(IN _uid VARCHAR(15))
    -> BEGIN
    ->     SELECT COUNT(filename)
    ->     FROM    file
    ->     WHERE userid = _uid
    ->     UNION ALL
    ->     SELECT COUNT(file)
    ->     FROM    fileupload
    ->     -- WHERE userid = _uid
    ->     WHERE userid = _uid;
    -> END$$
Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ;

关于mysql - 如何在存储过程中编写多个select语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46788629/

相关文章:

tsql - 从另一个存储过程中的存储过程中获取值

ruby-on-rails - 清理 SQL 语句中的存储过程调用

sql - 比较 SQL 中的图像

mysql - phpmyadmin wamp mysql 无法在过程中声明变量

mysql - 在连接中使用别名

python - Mysql连接器Python语法错误

MySql 选择、替换、INSTR

sql - 加入多个条件

c# - 我的 SQL 准备语句不起作用

entity-framework - 从 EF DbContext 中逐出项目