[SQL Server] コマンドプロンプトからのCSV形式出力
SQL ServerのテーブルデータをSELECTしてダブルコーテ区切りのCSVに出力したいと考えております。
・batファイルからの起動を希望。
・出力CSVファイル名はbatファイルより引数で指定したい。
・出力後、DELETEも行いたい。
OracleだとSQL*Plus環境で下記のようにテキストレベルで簡単にできます。
SQL Serverでも同様のことができないでしょうか?
要は下記をSQL Server版でやりたいということです。
参考:Oracleだと・・・
同一dirに、abc.batとabc.sqlを用意しabc.batを実行すると20070601.csvが生成される。
1.abc.bat
rem ----abc.bat-ここから----
sqlplus usr/pwd@host @abc.sql 20070601.csv
rem ----abc.bat-ここまで----
2.abc.sql
----ファイル名=abc.sql-ここから---
set echo off
set heading off
SET VERIFY OFF
set FEEDBACK OFF
set TRIMSPOOL on
set termout off
set pagesize 0
set linesize 32767
spool &1
select
'"'|| カラム1 ||'",'||
'"'|| カラム2 ||'",'||
'"'|| カラム3 ||'"'
from テーブル1;
spool off
delete from テーブル1;
exit
----ファイル名=abc.sql-ここまで---
20070601.csv結果
-ファイル名=20070601.csv-ここから---
"20060726","scott","356160"
"20060727","tiger","463391"
"20060728","manager","1930"
-ファイル名=20070601.csv-ここまで---
DBサーバ環境
OS:Win2003SvrR2
SQL Serverバージョン:わかりません。(2003にのってるので最近のだと思われます)
Oracle経験者でSQLServer初心者です。マニュアルもなく、Web検索しても「SQL」「Server」ってなかなかうまくひっかからない!!
ので質問あげさせていただきます。