在存储过程中显示消息

时间:2013-11-18 03:06:33

标签: mysql stored-procedures mysql-workbench

如何显示存储过程中的消息?

显示消息是否存在行的正确语法是什么?

在SQL Server中,PRINT在WORKBENCH中显示消息bat ...

CREATE PROCEDURE `new_proced` (
    in myid     int(3)
)
BEGIN
    if not exists (select id from table where id = myid)
then
    show message 'Row no exists';
else
    show message 'Row exists';
end if;
END

3 个答案:

答案 0 :(得分:16)

不完全确定你为什么要这样做,但你可以这样做: ...

then
  select 'YOUR MESSAGE HERE'  
else
  select 'YOUR OTHER MESSAGE HERE'
end if

或者你可以选择1或0,可能会更好......

答案 1 :(得分:1)

在MySQL中没有像Oracle中那样提供正确的输出语句,我们有DBMS_OUTPUT.PUT_LINE。因此,要在控制台上显示任何消息,可以使用 SELECT 语句:

SELECT消息; 例如: 选择“欢迎使用MySQL”;

答案 2 :(得分:0)

要从MySQL中的存储过程中调试信息,可以通过以下选项进行操作。

1。从外部写入文件:

  

选择“您的消息”作为登录到输出文件“ /temp/brajesh.txt”;

2。使用select命令打印消息:

  

选择“ result_message”;

3。使用select命令打印带有消息的其他信息:

  

select concat(“ Hello!:”,结果);

4。创建加法表temp并将所有消息推送到其中:

  

插入temp select concat(result);

示例

drop procedure if exists display_name_procedure;
delimiter //
create procedure display_name_procedure(IN name_val varchar(65))
begin
declare result varchar(65);
set result := display_name_function(name_val);

create table if not exists temp (name_val varchar(65) not null);
insert into temp select concat(result);
select "penguin" as log into outfile '/temp/brajesh.txt';
select concat("Hello ! :", result);

end//

delimiter ;