【Oracle】Oracle DBに対してバッチでデータ更新する

■ はじめに

Oracle DBに対してバッチでデータを更新する

目次

【1】ファイル構成
【2】ファイル内容
【3】注意

【1】ファイル構成

バッチ

 * mainBatch.cmd
 * subBatch.cmd
 * Property.bat

SQL

 * mainSQL.sql
 * /sql/subSql.sql

【2】ファイル内容

1)mainBatch.cmd

CALL ./Property.bat
sqlplus %USER%/%PASS%@%NAME% @mainSQL.sql > sql.log

2)Property.bat

@REM *************************************************************************
@REM 接続情報を設定する。
@REM    USER : ユーザ名
@REM    PASS : パスワード
@REM    NAME : DB接続文字列
@REM *************************************************************************

SET USER=testuser
SET PASS=xxx
SET NAME=localhost:1521/xe

SET DB_SYSTEM_USER=system
SET DB_SYSTEM_PASS=system

3)mainSQL.sql

@REM *************************************************************************
@REM ”;”要らない!
@REM *************************************************************************
@sql\subSql.sql

4)subSql.sql

-- ”;”必ずつけておく(特にINSERT、UPDATE時には)
INSERT INTO testTable
(id, name) 
VALUES
('010', 'Mike')
;

【3】注意

 * SQL文には、”;”必ずつけておく
(特にINSERT、UPDATE時には)
=> なくて、データが更新されていなかった経験があり