実行時にSQLファイルを呼び出すバッチファイルがあります。このSQLファイルは、MYPeriodに保存するデータを入力するようにユーザーに促します(これは入力として日付を受け入れます)。SQLファイルの出力はCSVファイルです。SQLファイルのコードは次のとおりです。
PROMPT Enter a period
ACCEPT MYPeriod PROMPT 'Period: '
SET LINESIZE 500 FEEDBACK OFF TRIMSPOOL ON TERMOUT OFF HEAD OFF PAGESIZE 0 TERM OFF
spool E:\abc\Test\File1_&MYPeriod.csv
select Account || ',' || Membername || ',' || GROUP || ',' || FUTURE1 from ACTUAL_V@UAT1_Test where Key=21 and period_name= '&MYPeriod' ;
spool off
exit
私のクエリ:
これを実行すると、場所 E:\abc\Test に File1_12-2012csv.Lst という名前のファイルが生成されます。csvファイルが欲しい。ファイル名をハードコーディングすると (&MYPeriod をテストで置き換えます) File1_Test.csv が完全に生成されます。ユーザーが入力した名前でコードがファイルを作成できないのはなぜですか?
この出力では csv ファイルが作成され、db からアカウントが取得されますが、上部に 2 つの余分な行が出力されます。新しいクエリと古いクエリ。自動的に削除されるように、コードを再定義するにはどうすればよいですか。
あなたの助けに感謝します。