アットウィキロゴ

DML

「DML」の編集履歴(バックアップ)一覧はこちら

DML - (2010/02/21 (日) 23:37:06) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

<p>●ビュー</p> <p> ①構文</p> <p>   CREATE OR REPLACE VIEW VIEW名 (ビュー列名1、・・)</p> <p>   AS SELECT XXX [WITH CHECK OPTION]  ※</p> <p>                                           [WITH READ ONLY]</p> <p> </p> <p>   ※select句のwhere条件にあわないものはINSERT、UPDATEできない</p> <p>            以下の場合、salaryが2000以外の場合は、INSERT/UPDATE出来ない</p> <p> </p> <p>    CREATE OR REPLACE VIEW emp_v</p> <p>              SELECT * FROM emp</p> <p>               where salary = 2000</p> <p>               WITH CHECK OPTION;</p> <p> </p> <p> ②制限</p> <p>  ・INSERT : ビュー定義に含まれない表の列にNOT NULL制限が無い場合</p> <p>  ・UPDATE : SELECT句で式や関数を利用していない場合</p> <p>  ・DELETE : ビューを作成するSELECT文にGROUP関数やGROUP BY、DISTINCTを利用していない場合</p> <p> </p> <p> ③削除</p> <p>  ・DROP VIEW VIEW名で削除する</p> <p>  ・VIEWを削除しても、元の表は削除されない</p> <p>   表を削除してもビューは削除されないが、アクセスできない</p> <p>  ・DROP ANY VIEW権限を持つユーザのみ削除できる</p> <p> </p> <p>●sequence</p> <p> ①構文</p> <p>  CREATE SEQUENCE SEQUENCE名</p> <p>  [INCREMENT BY 増分値]             デフォルト:1</p> <p>  [START WITH 値]                  デフォルト:1</p> <p>  [MAXVALUE値 | NOMAXVALUE]       デフォルト:INCREMENT BYが正の場合は、NOMAXVAL。負の場合は-1</p> <p>  [MINVALUE 値 | NOMINVALUE]        デフォルト:INCREMENT BYが正の場合は、1。負の場合はNOMINVAL</p> <p>  [CYCLE/NOCYCLE]</p> <p>  [CACHE n| NOCACHE]</p> <p> </p> <p> ②順序の使用</p> <p>   ・現在の順序を取得</p> <p>    select 順序名.currval from dual;</p> <p>       ・次の順序を取得</p> <p>          select 順序名.nextval from dual;</p> <p>       ※初めて利用する場合に、currvalを行うとエラーとなる</p> <p>    nextvalを行い、currvalを行う</p> <p> </p> <p> ③特徴</p> <p>  ・共有オブジェクト</p> <p>   複数のユーザで利用可能</p> <p>  ・主キーの値に生成</p> <p>  ・一意なコードとなるため、アプリを作る必要がない</p> <p> </p> <p> ④削除</p> <p>  ・構文</p> <p>   DROP SEQUENCE 順序名;</p> <p>  ・DROP ANY SEQUENCE権限を持つ場合</p> <p>   ※いつでも削除可能</p> <p> </p> <p>●Index(索引)</p> <p> ①構文</p> <p>   CREATE INDEX INDEX名 ON 表名(列名1、・・);</p> <p> </p> <p>  ②特徴</p> <p>  ・PRIMARY KEY、UNIQUE制約を定義すると、一意索引が自動で作成される</p> <p> </p> <p> ③索引作成ガイドライン</p> <p>   ・WHERE条件で利用される列</p> <p>   ・行数の多い表から一部の行を取り出す場合</p> <p> </p> <p>  ※索引を作成しないほうが良い場合</p> <p>   ・WHERE条件に列が含まれない場合</p> <p>   ・行数の少ない表から複数の行を取り出す場合</p> <p>   ・表が頻繁に更新される</p> <p> </p> <p>●シノニム</p> <p> ①構文</p> <p>  CREATE SYNONYM シノニム名 FOR スキーマ名.オブジェクト名</p> <p>  例)CREATE SYNONYM dept FOR hr.department;</p> <p> </p> <p>  ②特徴</p> <p>  シノニムは、オブジェクトに対する別名</p> <p>  長いオブジェクト名を短縮して、容易なアクセスとする</p>
<p>●ビュー</p> <p> ①構文</p> <p>   CREATE OR REPLACE VIEW VIEW名 (ビュー列名1、・・)</p> <p>   AS SELECT XXX [WITH CHECK OPTION]  ※</p> <p>                                           [WITH READ ONLY]</p> <p> </p> <p>   ※select句のwhere条件にあわないものはINSERT、UPDATEできない</p> <p>            以下の場合、salaryが2000以外の場合は、INSERT/UPDATE出来ない</p> <p> </p> <p>    CREATE OR REPLACE VIEW emp_v</p> <p>              SELECT * FROM emp</p> <p>               where salary = 2000</p> <p>               WITH CHECK OPTION;</p> <p> </p> <p> ②制限</p> <p>  ・INSERT : ビュー定義に含まれない表の列にNOT NULL制限が無い場合</p> <p>  ・UPDATE : SELECT句で式や関数を利用していない場合</p> <p>  ・DELETE : ビューを作成するSELECT文にGROUP関数やGROUP BY、DISTINCTを利用していない場合</p> <p> </p> <p> ③削除</p> <p>  ・DROP VIEW VIEW名で削除する</p> <p>  ・VIEWを削除しても、元の表は削除されない</p> <p>   表を削除してもビューは削除されないが、アクセスできない</p> <p>  ・DROP ANY VIEW権限を持つユーザのみ削除できる</p> <p> </p> <p>●sequence</p> <p> ①構文</p> <p>  CREATE SEQUENCE SEQUENCE名</p> <p>  [INCREMENT BY 増分値]             デフォルト:1</p> <p>  [START WITH 値]                  デフォルト:1</p> <p>  [MAXVALUE値 | NOMAXVALUE]       デフォルト:INCREMENT BYが正の場合は、NOMAXVAL。負の場合は-1</p> <p>  [MINVALUE 値 | NOMINVALUE]        デフォルト:INCREMENT BYが正の場合は、1。負の場合はNOMINVAL</p> <p>  [CYCLE/NOCYCLE]</p> <p>  [CACHE n| NOCACHE]</p> <p> </p> <p> ②順序の使用</p> <p>   ・現在の順序を取得</p> <p>    select 順序名.currval from dual;</p> <p>       ・次の順序を取得</p> <p>          select 順序名.nextval from dual;</p> <p>       ※初めて利用する場合に、currvalを行うとエラーとなる</p> <p>    nextvalを行い、currvalを行う</p> <p> </p> <p> ③特徴</p> <p>  ・共有オブジェクト</p> <p>   複数のユーザで利用可能</p> <p>  ・主キーの値に生成</p> <p>  ・一意なコードとなるため、アプリを作る必要がない</p> <p> </p> <p> ④削除</p> <p>  ・構文</p> <p>   DROP SEQUENCE 順序名;</p> <p>  ・DROP ANY SEQUENCE権限を持つ場合</p> <p>   ※いつでも削除可能</p> <p> </p> <p>●Index(索引)</p> <p> ①構文</p> <p>   CREATE INDEX INDEX名 ON 表名(列名1、・・);</p> <p> </p> <p>  ②特徴</p> <p>  ・PRIMARY KEY、UNIQUE制約を定義すると、一意索引が自動で作成される</p> <p> </p> <p> ③索引作成ガイドライン</p> <p>   ・WHERE条件で利用される列</p> <p>   ・行数の多い表から一部の行を取り出す場合</p> <p> </p> <p>  ※索引を作成しないほうが良い場合</p> <p>   ・WHERE条件に列が含まれない場合</p> <p>   ・行数の少ない表から複数の行を取り出す場合</p> <p>   ・表が頻繁に更新される</p> <p> </p> <p>●シノニム</p> <p> ①構文</p> <p>  CREATE [PUBLIC] SYNONYM シノニム名 FOR スキーマ名.オブジェクト名</p> <p>  例)CREATE SYNONYM dept FOR hr.department;</p> <p> </p> <p>  ②特徴</p> <p>  シノニムは、オブジェクトに対する別名</p> <p>  長いオブジェクト名を短縮して、容易なアクセスとする</p>

表示オプション

横に並べて表示:
変化行の前後のみ表示: