Log.log(work)

いろんな作業メモ

Oracle

cursorの勘違いがなおらない

なんでかなぁ 変数の宣言が先 順序が違うとPLS-00320: この式の型の宣言が不完全か、または形式が誤っています。 となる wk_cd CHAR(02 CHAR) := '00'; CURSUR c1 IS SELECT cd_name FROM hoge WHERE cd = wk_cd ; c1_record c1%type; %NOTFOUNDはカーソル属…

NO_DATA_FOUNDとcount

countは常に1件の値が返ってくるので、NO_DATA_FOUNDで待ち構えても拾えないんだった。

暗黙カーソルと明示カーソル

カーソル カーソルには二種類あって、暗黙カーソルと明示カーソルに分かれる。 明示カーソル 明示的にOPEN~CLOSEするカーソル(そのまんま)。 OPEN c_1; FETCH c_1 INTO paramCd; CLOSE c_1; 暗黙カーソル 明示カーソル以外のすべてのSQL処理で内部的に使用…

oracleのNULL

oracleのNULLは扱いとしてはデカいので、 昇順でソートすると一番最後にくる。

oracleにつながっているか確認する簡単な方法

ユーザ ユーザによって環境変数は変わってくる。 今回、作ったユーザでoracleにつなぎに行こうとしたらできなかった。 確認方法としては、 sqlplus とたたくと変数がセットされてるとちゃんと立ち上がるが、設定がミスってると立ち上がらない。 メモ .bash_p…

関係演算子が無効です

と言われた。 SELECT * FROM HOGE WHERE (column1,column2) in (values('foo','001'),('hogehoge','002')) SQL : ORA-00920: 関係演算子が無効です。 in values ~ってoracleじゃつかえないんだっけか。 DB2とpostgresは使えたようなきが。 ========…

インポート/エクスポート

たまにやると忘れるのでめも。 エクスポート exp system/manager tables="tableName" log=exp_20141114_TBL.log file=exp_20141114_TBL.dmp インポート imp system/manager file=/home/hoge/backup/exp_20141114_TBL.dmp log=/home/hoge/backup/TBL.log tabl…