RAISE NOTICE
postgresでRAISERROR
に相当する「表示するメッセージ」WITH NOWAIT
SQL Serverで、またはpostgresクエリの実行中に中間メッセージを出力するより良い方法はありますか? postgresでランタイムメッセージを出力するより良い方法があるかどうかを提案してください。
INSERT INTO tbl1 (col1) values (val1);
DO $$
begin
raise notice 'insert tbl1 done!';
end;
$$;
UPDATE tbl2 set col2='val2' where ...;
DO $$
begin
raise notice 'update tbl2 done!';
end;
$$;
このコードがコメントするには悪すぎる場合は申し訳ありませんが、plsはそれを行うためのより良い方法を提案しています、ありがとう
はい、RAISE NOTICE
以下のように。あなたのやり方は正しいです。
RAISE NOTICE 'i want to print % and %', var1,var2;
詳細については、こちらをご覧ください https://www.postgresql.org/docs/current/static/plpgsql-errors-and-messages.html
編集:
begin
INSERT INTO tbl1 (col1) values (val1);
raise notice 'insert tbl1 done!';
end;
関数のどこでも非常に単純なステートメントを使用できます。
DO $$ begin raise notice '%',now(); end; $$;
参考のための機能:
create or replace function test() RETURNS bool AS '
begin
raise notice ''%'',now();
for i IN 0..50000000 loop
end loop
raise notice ''%'',now();
return true;
end;
言語 'plpgsql';
RAISE NOTICEはPL/pgSQLの一部であるため、関数または無名DOブロックでのみ有効です。通知を発生させる関数を作成し、それを呼び出すことができると思います。