SQLとはリレーショナルデータベースの問い合わせ言語です。
DROP MATERIALIZED VIEW LOGは、マテリアライズド・ビュー・ログを削除するSQL文である。
DROP MATERIALIZED VIEW LOG ON [schema.]table
CREATE LIBRARYとは、外部プロシージャライブラリを作成するSQL文である。
自分のスキーマに外部プロシージャライブラリを作成するには、CREATE LIBRARYシステム権限が必要である。任意のスキーマに外部プロシージャライブラリを作成するには、CREATE ANY LIBRARYシステム権限が必要である。
CREATE [OR REPLACE] LIBRARY [schema.]name {AS|IS} 'filename'
ライブラリを作成する例を示す。
CREATE OR REPLACE LIBRARY mylib AS '/opt/app/oracle/product/11.2.0/db_64/lib/libmylib.so'
ALTER LIBRARYとは、外部プロシージャライブラリを明示的に再コンパイルするSQL文である。 ALTER LIBRARYでライブラリファイルのパス名を変更することはできない。 ライブラリファイルのパス名を変更するには、CREATE OR REPLACE LIBRARYで外部プロシージャライブラリを再定義する。
任意のスキーマの外部プロシージャライブラリを明示的に再コンパイルするには、ALTER ANY LIBRARYシステム権限が必要である。
ALTER LIBRARY [schema.]name COMPILE
DROP LIBRARYとは、外部プロシージャライブラリを削除するSQL文である。
任意のスキーマの外部プロシージャライブラリを削除するには、DROP ANY LIBRARYシステム権限が必要である。
DROP LIBRARY name
ROWID疑似列とは、行のアドレスであり、テーブル内で一意である。
SQL> SELECT ROWID FROM quotes WHERE code = 4755;
ROWID
------------------
AAADVFAABAAAI1KAAA
SQL>
SELECT文のWHERE句に条件として指定できる。
SQL> SELECT * FROM quotes WHERE ROWID = 'AAADVFAABAAAI1KAAA';
CODE NAME
---------- ----------------------------------------------------------------
4755 楽天
SQL>
ROWNUM疑似列とは、問い合わせで戻された行の番号であり、1から順番に付けられる。
SELECT empno FROM (
SELECT empno FROM emp ORDER BY empno
)
WHERE RONUM <= 10
ORDER BY empno
SELECT文のWHERE句に条件として指定することで、先頭n件の結果だけを取得できる。
SELECT * FROM emp WHERE ROWNUM <= 10
式のリストのうち、NULLでない最初の値を戻す。式のリストが全てNULLである場合、COALESCE
はNULLを戻す。
COALESCE(expr [, expr] ... )
COALESCE
の使用例を次に示す。
SELECT COALESCE(quantity, 0) FROM inventory
上記のSQL文の場合、inventory.quantity
がNULL
でなければinventory.quantity
が戻り、inventory.quantity
がNULL
ならば0が戻る。したがって、NULL
を0に変換することができる。
DECODE(expr, condition1, value1 [,condition2, value2...] [,default])
文字列から部分文字列を検索し、現れた位置を示す数値を戻す。
INSTR(string, substring [, position [, occurrence]])
string中のpositionの位置から検索して、substringがoccurrence番目に現れた位置を示す数値。指定条件で現れなかった場合は0を戻す。
文字列stringに含まれる文字をすべて小文字に変換した文字列を戻す。
LOWER(string)
MODは剰余(割り算の余り)を返す関数である。
MOD(n1, n2)
n1をn2で割った余りを戻り値として返す。
MOD関数を使用したSQL文の例を示す。
SQL> SELECT MOD(12, 5) FROM DUAL;
MOD(12,5)
----------
2
SQL> SELECT MOD(12, 6) FROM DUAL;
MOD(12,6)
----------
0
SQL>
文字列charの中から、start番目から始まる長さlengthの文字列を抜き出して戻す。
SUBSTR(char, start [, length])
文字列charの中から、start番目から始まる長さlengthの文字列を抜き出して戻す。
SUBSTR(char, start [, length])
文字列stringに含まれる文字をすべて大文字に変換した文字列を戻す。
UPPER(string)