ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

PLSQL

PACKAGE再コンパイルsql

スキーマ内でパッケージの状態が「INVALID」をすべて再コンパイルする。 declare G_SCHEMA constant varchar2(100) := 'orcl'; W_SQL varchar2(1000); W_CNT pls_integer := 0; W_ERR_CNT pls_integer := 0; cursor REC_CUR is select 'alter PACKAGE ' || O…

累積合計を計算する

sum(カラム) over (partition by グループ1,グループ2 order by 累積順) partition byでグループ単位でカラムの合計を取得 order byで指定するカラムの順番で合計を累積する select CA1, CA2, sum(CLM1) over (partition by CA1, CA2 order by CLM2) from …

OracleでHash型変数使用

文字列をキーで持つハッシュ変数 declare type T_HASH is table of varchar2(10) index by varchar2(10); HASHVAL T_HASH; begin HASHVAL('key1') := 'orange'; HASHVAL('key2') := 'apple'; HASHVAL('key3') := 'banana'; dbms_output.put_line('key1=' || …

place holderとbind variable

place holderとbind variable place holderとbind variableは動的SQLを実行するときに使われるものである。place holderは文字列の中でコロン(:)で認識される定義の器である。 bind variableはplace holderに当てはまれる値のことを表す。place holderとb…

ESCAPE句の使用

'_'や'%'などの特種文字などの検索の時使用する。 LIKE '%\_%' ESCAPE '\' ESCAPE句に指定された文字の次の文字は特種文字と扱えない escape句はlike句の後ろに付く

Oracle Hint句

検索などの処理をOracleに任せずに直接指定することが出来る。 Oracle Hint句 テーブル読み取り順を指定する事が出来る。 select /*+ leading(tablename1,tablename2) */

ORACLE TO_MULTI_BYTEが化ける。

普通の場合はあまり出ないですが、特集にORACLEの言語設定がUNICODEになっていると、 TO_MULTI_BYTEで変換すると、"!"や",.;:^~&"などの文字が化ける場合があります。 普通のJIS-Sの言語で設定された場合は化けなくて、正常に変換されます。 その問題を解決…

BLOBにファイルを投入

まずシステムでログインしてDIRECTORYを定義する >SQL SYSTEM/MANAGER CREATE DIRECTORY EXL_DIR AS 'C:\EX_TEMP';GRANT READ ON DIRECTORY EXL_DIR TO PUBLIC; 指定されたところにファイルをコピーしてから SET SERVEROUTPUT ON DECLARE /* 実行用 */ V_BLO…

カーソルの使い方1

宣言部でカーソルを宣言 CURSOR C1 IS SELECT CLM1,CLM2 FROM WHERE AND CTABLE=PLSQLVALUE;※ C1はカーソルの名前, SELECT文は普通に入れるけどPLSQLの変数も使えます PLSQLVALUEはPLSQL内部で宣言された変数で代入して値が適用されます。 ※ カラムは複数指…