
symfowareサーバのSQL文をバッチで実行した時、出力したデータをin句に代入したのち、in句のSQL文を実行するにはいかがしたらよろしいでしょうか?
**************************************************************************
SQLin句付き文に出力した番号を入力して別ファイルに出力
select * from sample.post where 番号 in(:test_parameter, '[^,]+', 1, LEVEL) with option lock_mode(no lock)
**************************************************************************
BAT側の処理
@ECHO off
REM 遅延環境変数
@setlocal enabledelayedexpansion
REM DBサーバの変数指定
SET CURDIR=%~dp0
REM SQLフォルダーの変数指定
SET SQLDIR=%CURDIR%SQL\
REM SQLファイルの変数指定
SET SQLNAME=SQL.sql
REM LOGフォルダーの変数指定
SET LOGDIR=%CURDIR%LOG\
REM LOGファイルの変数指定
SET LOGNAME=LOG.txt
REM CSVフォルダーの変数指定
SET CSVDIR=%CURDIR%CSV\
REM CSVファイルの変数指定
SET CSVNAME=番号.csv
REM 変数指定
SET LINE_A=
SET COUNT=0
REM DBサーバの変数指定
CD /D %~dp0
REM テーブルデータをファイルに出力
rdbunlsql -d データベース名 -v D:\SQL\SQL.txt -j SJIS -t D:\LOG\SQL.txt
REM LOGに完了したことの出力
ECHO SQLテーブル呼び出しが完了しました。>> %LOGDIR%%LOGNAME%
REM カラムのみをファイルに出力
rdbexecsql -s データベース名 -i %SQLDIR%SQL.sql > %CSVDIR%%CSVNAME%
FOR /F "skip=1" %%a IN (%CSVDIR%%CSVNAME%) DO @CALL :MYSET %%a
rem for分でコマンドプロンプトに出力したデータを上で出力したファイルに上書き
echo %LINE_A% > %CSVDIR%%CSVNAME%
REM カラムのみファイルにテーブルデータを結合して出力
type %LOGDIR%SQL.txt >> %CSVDIR%%CSVNAME%
REM LOGファイルのテーブルデータを削除しないと二回目が行えない為最後に削除する
del %LOGDIR%SQL.txt
ECHO ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
REM logに完了したことの出力
ECHO 全ての出力が完了しました。>> %LOGDIR%%LOGNAME%
pause
rem サブルーチン
:MYSET
SET /A COUNT=%COUNT%+1
@REM 1行目が正しかったら変数指定されたLINEへSET
IF %COUNT% == 1 (
SET LINE=%1
SET LINE_A=!LINE!
)
@REM 1より大きいければの処理
IF %COUNT% gtr 1 (
SET LINE=%1
SET LINE_A=!LINE_A!,!LINE!
)
@REM EXIT /B で呼び出し元へ戻る
EXIT /B
**************************************************************************
A 回答 (1件)
- 最新から表示
- 回答順に表示
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 単純なコマンドプロンプトが動きません。 2 2022/04/19 15:21
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- その他(プログラミング・Web制作) Windowsのバッチファイルについてご教示ください 5 2023/07/25 20:23
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクスポート時の改行コードに...
-
既に使用されているので、使用...
-
AccessでCSVインポートのゼロサ...
-
SQL Server のデータをCSVファ...
-
accessのエクスポートエラーに...
-
ACCESSデータベースのインポート
-
SybaseのBCPでファイル上書き
-
bcpインサートでのフォーマ...
-
ACCESSでのCSVデータの自動取り...
-
symfowareのSQL文in句をバッチ...
-
Accessのリンクテーブルについて
-
SQLServer2005 クエリ結果のフ...
-
ACCESS2007 フォーム 「バリア...
-
SELECT文でのデッドロックに対...
-
「マスタ」と「テーブル」の違...
-
sqlserverで集計結果をUPDATEし...
-
重複するキーから一番古い年月...
-
Access VBA [リモートサーバー...
-
オラクルではできるのにSQLSERV...
-
IFで条件を分岐させてのINSERT...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
accessのエクスポートエラーに...
-
SQL Server のデータをCSVファ...
-
エクスポート時の改行コードに...
-
既に使用されているので、使用...
-
アクセスのテーブルからエクス...
-
SQLServer2005でフラットファイ...
-
symfowareのSQL文in句をバッチ...
-
Accessのリンクテーブルについて
-
MS-SQLプロシージャでファイル...
-
AccessでCSVインポートのゼロサ...
-
ACCESSでのエクセルインポート...
-
bcpによる、テーブル→CSVファイ...
-
SQLServer2005 データのCSVファ...
-
bcpインサートでのフォーマ...
-
SQL Server 2000 - bulk insert
-
SybaseのBCPでファイル上書き
-
DBMAGICのプログラム解析
-
スクリプトファイルの一括実行
-
[SQL Server] コマンドプロンプ...
-
ACCESSでのCSVデータの自動取り...
おすすめ情報