やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

SQLite3ドットコマンド(.trace)

 実行したSQL文を出力する。

成果物

.help trace

sqlite3 :memory: ".help trace"
.trace ?OPTIONS?         Output each SQL statement as it is run
    FILE                    Send output to FILE
    stdout                  Send output to stdout
    stderr                  Send output to stderr
    off                     Disable tracing
    --expanded              Expand query parameters
    --plain                 Show SQL as it is input
    --stmt                  Trace statement execution (SQLITE_TRACE_STMT)
    --profile               Profile statements (SQLITE_TRACE_PROFILE)
    --row                   Trace each row (SQLITE_TRACE_ROW)
    --close                 Trace connection close (SQLITE_TRACE_CLOSE)

 「実行時に各SQLステートメントを出力する」

.trace

指定先なし

sqlite3 :memory: \
".trace" \
"select 1;"
1

 結果のみ。出力先をstdout,stderr,任意ファイルパスのいずれかで指定せねば有効化しない。

stdout

sqlite3 :memory: \
".trace stdout" \
"select 1;"
select 1;
1

任意ファイル

sqlite3 :memory: \
".trace trace.txt" \
"select 1;"
1
cat trace.txt
select 1;

 実行文がファイルへ出力された。

対象環境

$ uname -a
Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux

前回まで