他の人が失った時間を節約するための例として、これをここに投稿してください。
test_setvar.sql ファイルには、次の内容が含まれています。
-- :r test_setvar.sql
:reset
:setvar Name "filename"
print '$(Name)'
-- :setvar OutName '$(Name)' -- NO wont work
-- :out $(OutName).txt
:r $(Name).sql -- filename.sql exists and prints "Hello World"
:out $(Name).txt -- filename.txt is created
go
:out stdout
ここに明確に記載されています。
注: マルチパート文字列と :out を含むフィールドには二重引用符が必要です。たとえば、
:out "string bit"$(field1)"string bit2"$(field2)
このため、一重引用符のラップは :out では機能しません。
しかし...クエリ内で二重引用符または単一引用符のラップが必要です。
where col.name LIKE "%" + "$(SEARCH_STRING)" + "%"