ストアドプロシージャからのメッセージを表示するにはどうすればよいですか?
行が存在するかどうかを示すメッセージを表示するための正しい構文は何ですか?
SQL Serverでは、WORKBENCHでメッセージバットを表示することがPRINTです...
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
なぜあなたがそのようなことをしたいのかは完全にはわかりませんが、次のようなことをすることができます:...
then
select 'YOUR MESSAGE HERE'
else
select 'YOUR OTHER MESSAGE HERE'
end if
または、1または0を選択して、少し良いかもしれません...
MySQLにはOracleのような適切な出力ステートメントがありません。DBMS_OUTPUT.PUT_LINEがあります。したがって、コンソールにメッセージを表示するには、次のように[〜#〜] select [〜#〜]ステートメントを使用できます。
SELECT message;
例:SELECT "WELCOME TO MySQL";
MySQLのストアドプロシージャからのデバッグ情報には、これを行うことができる以下のオプションがあります。
1.外部からファイルに書き込む:
outfile '/temp/brajesh.txt'へのログインとして「your_message」を選択します。
2. selectコマンドを使用してメッセージを出力します。
「result_message」を選択します。
3. selectコマンドを使用して、メッセージ付きの追加情報を出力します。
select concat( "Hello!:"、result);
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 ;