実行時に使用 SQLPlusとは
Oracle Databeseに付属しているソフト
SQLを実行するためのユーティリティーソフトで、クライアントツールとして標準装備されている
起動方法
sqlplus ユーザー名/パスワード@接続文字列
実行方法
@ファイルパス
SQLおすすめの書き方
1. FROM テーブル名 + 結合するテーブルから書いていく (設計書をみて)
2. WHERE区の中の抽出条件を書く (設計書をみて)
3. 最後にSELECT句を書く
*最後に;
COMMIT;
QUIT
を忘れない様に
TRUNCATE TABLE test --testテーブルをTRUNCATEする
INSERT INTO test (
bg --番号
,id --ID
,start --開始日
,end --終了日
,kingaku --金額
,biko --備考
,cd --コード
)
SELECT
'0'|| col002 AS bg --番号の先頭に0を付ける
,cnvt(col005) AS id -- ファンクションでidを変換
,substr(col006,1,10) AS start --開始日を切り取り
,substr(col006,1,10) AS end -- 終了日を切り取り
,CASE
WHEN col014 = '2' THEN col011
ELSE NULL
END AS kingaku
,col026 AS biko
,'1' AS cd --1を固定でセット
FROM
testtest
WHERE
col005 IN (SELECT DISTINCT col001 FROM tes WHERE col013 IS NOT NULL) --副問い合わせ
AND ((substr(col007,1,10) >= '2018/04/01') OR col0007 IS NULL)
;
COMMIT;
QUIT
データを格納する時に使用 SQLLoaderとは
大量のデータを高速にテーブルへ格納するためのOracle Database付属ツール
CSVファイルを元にまとめてデータを取り込むことが可能
直接テーブルにデータを書き込み高速に処理できることが特長
使用の流れ
テーブルの作成⇒CSVファイルの作成⇒制御ファイル(.ctl)で読み込み
テーブルの作成方法
CREATE TABLE テーブル名(
カラム名 型,
カラム名 型,--ex col001 VARCHAR2(400)
)
--COMMENT ON COLUMN テーブル名.カラム名 IS '';
--でテーブルのヘッダーに任意の名前を付けることができる
制御ファイルの役割
制御ファイルの役割は投入元のCSVファイルと投入先のテーブルのマッピング
制御ファイルの書き方
OPTIONS(SKIP=1)
Load data
infile 'ファイルパス'
badfile 'ファイルパス'
truncate into table テーブル名
FIELDS TERMINATED BY ","OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
(
カラム名,
カラム名
)
起動方法
sqlloader
ユーザー名/パスワード@接続文字列
実行方法
@ファイルパス(コントロールファイル)