読者です 読者をやめる 読者になる 読者になる

底辺過ぎてちょっとビビる

26歳からIT業界にいるエンジニアが、まったく成長できてないことを確認するブログ。備忘録的に使いたいとも考えています。

5日めながら

SQLに苦戦している・・・。

 

OracleSQLSQL*Plus、SQLLoader、Pro*Cと色々理解してなきゃいけないことばかりで大変だ。

 

そもそもSQLファイルやctlファイル(制御ファイル)は何に使うんだっけというので頭がゴッチャゴチャになっている。

 

SQLファイルはDB接続後に使うので、多分現場ではシェルから呼ばれるはず!

--------------------------------------------------

SQL*PlusでDBに接続したあとで、

SQL> @c:\cmd\emp_count.sql

という感じでSQLファイルを指定して実行する。

 

SQL*Plus起動時似あわせて、SQLを実行する。

ユーザ「user1」パスワード「pass」DB「oradb」

sqlplus pass/user1@oradb @emp_count.sql

 

SQLファイル「emp_count.sql」に引数「aaaa」「bbbb」を渡して実行する。

ファイル「emp_count.sql」内のSQL

select count(*) from emp where emp_id='&1';

select count(*) from emp where emp_id='&2';

 

SQL> @emp_count.sql aaaa bbbb

select count(*) from emp where emp_id='aaaa'; ←実行時

count(*)

-------------

0

select count(*) from emp where emp_id='bbbb';←実行

count(*)

-------------

0

--------------------------------------------------------------------------------------

 

 

※ctlファイルはSQLLoaderで使われる!

※Pro*Cには特にファイルは使われない!