如何显示存储过程中的消息?
显示消息是否存在行的正确语法是什么?
在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
答案 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 ;