gpt4 book ai didi

MySQL 程序两次显示 "select"语句

转载 作者:行者123 更新时间:2023-11-29 01:54:53 24 4
gpt4 key购买 nike

我有很多存储过程在执行一系列更改、创建等...我想在每个过程中查看正在执行的过程。

DELIMITER |

DROP PROCEDURE IF EXISTS test1|

CREATE PROCEDURE test1()
BEGIN
IF /*select ... */ THEN
BEGIN
SELECT "hello world";
END;
END IF;
END|

DROP PROCEDURE IF EXISTS test2|

CREATE PROCEDURE test2()
BEGIN
IF /*select ... */ THEN
BEGIN
SELECT "hello world 2";
END;
END IF;
END|

DELIMITER ;
CALL test1();
CALL test2();

然后我称之为:

cat proc.sql | mysql -uroot -p mydb

输出:

hello world
hello world
hello world 2
hello world 2

root@localhost:test> select version();
+-------------------------+
| version() |
+-------------------------+
| 5.5.44-0ubuntu0.14.04.1 |
+-------------------------+

为什么显示两次?

最佳答案

显示列名称和值。

mysql> CALL test1();
+-------------+
| hello world | <- Column name
+-------------+
| hello world | <- Value
+-------------+
1 row in set (0,00 sec)

如果您为列指定别名:

...
SELECT "hello world" `column_name`;
...

输出:

column_name
hello world

更新

使用:

$ cat proc.sql | mysql -uroot -p -N mydb

输出:

hello world
hello world 2

参见:--skip-column-names, -N

关于MySQL 程序两次显示 "select"语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32014155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com