国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

mysql プロシージャはステータスを unix スクリプトにのみ返す必要があります
P粉924915787
P粉924915787 2023-09-08 09:44:26
0
2
779

デバッグ用の out パラメーターといくつかの print ステートメントを備えた mysql プログラムがあります。 このプロシージャを Unix シェル スクリプトから呼び出しています。そのアイデアは、後で條件をチェックするために使用する unix 変數(shù)に out パラメータを割り當てることです。ただし、変數(shù)には print ステートメントも割り當てられます。 print ステートメントを削除し、出力パラメータ (整數(shù)) を変數(shù)に代入したいと考えています。

Unix スクリプト:

リーリー

print ステートメントも提供します

リーリー

DBeaver などの SQL クライアントでコードを実行すると、出力パラメーターのみが取得されます。

リーリー リーリー

print/debug ステートメントはログに役立つため、無効にしたくありません。しかし、それらが mysql out 変數(shù)、そして最終的には UNIX 変數(shù)にも現(xiàn)れたくないのです。

これはmysqlプログラムです

ああああ

P粉924915787
P粉924915787

全員に返信(2)
P粉203648742

"debug" ス??テートメントは stdout に出力され、select @out; も stdout に出力されるため、MySQL クライアントはそれらを區(qū)別できません。このプロセスには出力リダイレクト機能がありません。

したがって、創(chuàng)造的に考える必要があります。

1 つのアイデアは、デバッグ ステートメントに共通のパターンがあることを確認して、それらをフィルターで除外できるようにすることです。たとえば、「#DEBUG」という単語を一貫して使用します。

リーリー

次に、Bash から呼び出すときにフィルターします:

リーリー

もう 1 つのアイデアは、デバッグ ステートメントが條件付きでのみ出力されるようにコードを変更することです。

リーリー

デバッグ出力が必要な場合は、次のように呼び出すことができます:

リーリー

デバッグ出力が必要ない場合は、@debug=1 を設定しないでください。

最も重要なことは、MySQL ストアド プロシージャは多くの狀況において非常に不便であるということです。実際のデバッガ、パッケージ、コンパイラ、標準ライブラリ、アトミック デプロイメントなどはありません。私は長年 MySQL を使用してきましたが、このプログラムの有効な使用法はほとんど見たことがありません。

いいねを押す +0
P粉818561682

###予測:###

Debug ステートメントと
    select @out
  • は別の行に表示されます (OP の元の質問と同様) 最後の行以外のすべてをログ ファイルに追加する必要があります
  • 最後の行は変數(shù)に保存されます
  • すべての出力を変數(shù)にキャプチャする OP の現(xiàn)在のメソッドのコピーから始めます:
リーリー

最後の行以外のすべてをログ ファイルに追加するには:

リーリー

最後の行を新しい変數(shù)にキャプチャするには:

リーリー
いいねを押す +0
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート