OracleBronze11gSQL落とし穴〜その2〜
【ビュー】 ・OR REPLACE区で新規にビューを作成できる。 ・ビューで検索は早くならない(レスポンスにはなんの関係もない)。 ・OR REPLACE区で新規にビューを置き換えると権限はそのまま作成される。 ・ビューの作成時にGROUP BY句とORDER BY句が指定できる。
【 DICTIONARYビューについて 】 DICT は、DICTIONARY のシノニムです ・DICT_COLUMNSビューは、データ・ディクショナリ表およびデータ・ディクショナリ・ビュー内の列の情報。 《参考》 SQL> DESC DICT Name Null? Type ----------------------------------------- -------- --------------- TABLE_NAME VARCHAR2(30) COMMENTS VARCHAR2(4000) SQL> DESC DICT_COLUMNS Name Null? Type ----------------------------------------- -------- --------------- TABLE_NAME VARCHAR2(30) COLUMN_NAME VARCHAR2(30) COMMENTS VARCHAR2(400
【 コンソールでSELECTしたら】 ・列見出しは、デフォルトでは、列名を大文字で表示。 ・文字型と日付型は、左詰めで表示。 ・数値型は、右詰めで表示。
【 シノニムについて 】 ・元表を削除すると、シノニムは、無効となる。 ・元表名を変更すると、シノニムは、無効となる。 ・シノニムを削除しても、元表は削除されない。 ・存在しないスキーマ・オブジェクト(表とかビューとか)のシノニムも作成できる ・プライベート・シノニム名は、RENAME文で、変更することができる。 (プライベート・シノニムは、スキーマ・オブジェクトなので変更できる) ・パブリック・シノニム名は、RENAME文で、変更することはできない。 ・CREATE SYNONYM文で、OR REPLACE句を指定するとシノニムを書き換えが。 できる
【 INTERVAL YEAR TO MONTHの実際の使い方 】 INTERVAL '123-4' YEAR(3) TO MONTH 123年と4か月の期間 INTERVAL '15-7' YEAR TO MONTH 15年と7か月の期間 INTERVAL '123' YEAR(3) 123年と0か月の期間 INTERVAL '200' MONTH 200か月の期間 INTERVAL '14' YEAR 14年の期間 INTERVAL '20' MONTH 20か月の期間(1年8か月の期間)
【 順序のCYCLE指定で戻る値について 】 ・CYCLE指定をすると最大値を超えた時に、昇順であれば、MINVALUE値 に戻り、降順であればMAXVALUE値が戻る ・MINVALUE値が指定されない場合には、デフォルト値の1になる
【 等価式】 ・ALL条件と比較演算子 > ALL ...最大値より大きい <> ALL ... NOT INと同じ < ALL ... 最小値より小さい ・ANY条件と比較演算子 > ANY ... 最小値より大きい = ANY ... INと同じ < ANY ... 最大値より小さい ・以下の場合、比較が無効 = ALL ... いずれとも等しい(比較対象が複数の時、戻り値なし) <> ANY ... いずれかと違う(比較対象が複数の時、すべての値が戻る)
【暗黙コミット】 以下を実行すると暗黙コミットが実行される(ようはDDL実行したら暗黙コミットされる) ・CREATE文 (CREATE TABLE,CREATE SEQUENCE,CREATE SYNONYM) ・ALTER文 (ALTER TABLE,ALTER USER) ・DROP文 (DROP TABLE,DROP SEQUENCE,DROP VIEW) ・TRUNCATE文 ・RENAME文
【 索引の変更 】 ・索引を変更する命令は存在しない(ALTER INDEX文は、索引内容を変更するものではない) 。 ・索引を変更するには、削除して、再度作成する以外にない。
【 FOREIGN KEY制約 】 ・FOREIGN KEY制約(参照整合性制約)は、2つの表の親子関係を規定する もの。1つの表で、親子関係を設定することもできる。 ・外部キーと参照キーは、同じ列名でなくてもよいが、データ型は、 同じでなければならない(データ型は、数値の桁数や文字サイズ等が 正確に一致していなくても設定できる) ・複数の列による外部キーの設定ができる ・表制約定義には、FOREIGN KEY句を指定する ・外部キーで参照されていない親キーは、更新または削除できる ・外部キーで参照されている親キーは、デフォルトでは、更新または削除できない ・外部キー定義時に、ON DELETE句の指定により参照されている親キーを削除す ることができる 《参考》ON DELETE句指定による親キー削除時の処理は、以下の通りとなる。 指定なし............対応する外部キーがある場合、削除できない 。 対応する外部キーがない場合、削除できる。 ON DELETE CASCADE...対応する外部キーの値を削除できる。 ON DELETE SET NULL..対応する外部キーの値をNULL値にする。
【 WITH CHECK OPTION句】 ・WITH CHECK OPTION句を指定したビューは、ビューによる操作でビュー 定義時の条件を満たすものだけが許可される。 ・ビュー定義を満たさない追加、更新処理は、エラーになる。 ・WITH CHECK OPTIONとWITH READ ONLYは、いっしょに指定できない。 一緒に指定するとエラーになる。
【 順序のオブジェクト権限】 ・順序のSELECT オブジェクト権限又はSELECT ANY SEQUENCEシステム権限が必要。
【 USER_TAB_COMMENTS 】 ・ビューUSER_TAB_COMMENTSで、自分が所有する表またはビューのコメント 情報を調べることができる。
【 日付の計算 】 ・日付と整数を加減算すると、整数は日数として計算される。
ほんま普段使わんかったら全くわからんなぁ・・・。
業務と資格に差があるわ。
でも明日受かるだめPG。
たぶん今日はまだ問題点出そう(汗)