「データの操作」の編集履歴(バックアップ)一覧はこちら

データの操作」(2006/01/28 (土) 19:01:45) の最新版変更点

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

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

-9.1 INSERT文使用時のポイント INSERT文で挿入する列名を省略した場合、全ての列に値を指定する必要がある。 -9.2 DEFAULT値指定時のDML 列にDEFAULT値が指定してある場合、DMLにてDEFAULTを使用することができる。 (例)INSERT INTO VALUES (2000,DEFAULT,500) -9.3 小数点付NUMBER型 NUMBER(5,2)の場合(整数桁を3桁まで、少数桁を2桁まで格納) ◆123.45 → 問題なく格納 ◆1234.56 → エラー(整数桁が1桁多い) ◆123.456 → 123.46で格納(小数第三位が丸められる) -9.4 TO_DATE関数の引数省略時のデフォルト値 月日を省略した場合  月:当月  日:1日 時間を省略した場合  午前0時0分0秒 -9.5 EMP表をCOPY_EMP表にコピーする場合 ○ INSERT INTO COPY_EMP SELECT * FROM EMP × INSERT INTO COPY_EMP AS SELECT * FROM EMP -9.9 DELETE文の基本構文 DELETE [FROM] 表名 ★"FROM"は省略できる -9.10 with check option ■INSERT、UPDATE、DELETE文の中で表の変わりに副問合せを使用した場合に、副問合せのWHERE句に違反する行を生成させない (例) ◆INSERT INSERT INTO view1( SELECT empno, ename, deptno FROM emp WHERE deptno = 10 WITH CHECK OPTION) VALUES (1010, 'JONY',20); →エラー ◆UPDATE UPDATE( SELECT empno, ename, deptno FROM emp WHERE deptno = 10 WITH CHECK OPTION) SET deptno = 20 FROM view1; →エラー ◆DELETE DELETE句の場合はWHERE句に存在しない行は元々存在しないので、エラーになりません。 -9.11 TRUNCATE TABLE +表から全ての行を削除する +DDL文なのでロールバックできない  →DELETE文より処理が速い(ロールバック情報を生成しないため) +表が利用していた領域が開放され、他のオブジェクトで再利用可能になる  →DELETE文の場合、領域はその表に対する以降のINSERT文で再使用される +削除トリガーを起動しない +外部キー制約(参照整合性制約)の親表を切り捨てることはできない -9.12 トランザクションの終了条件 【トランザクションが終了する場合】 +DDL文およびDCL文の実行 +DBを更新しているアプリケーション(SQL*Plus、iSQL*Plusなど)の終了 +システムクラッシュ 【トランザクションが終了しない場合】 +SAVEPOINT文の実行 +ROLLBACK TO (SAVEPOINT);の実行 -9.14 自動ロールバックされるイベント +DBを更新しているアプリケーション(SQL*Plus、iSQL*Plusなど)の終了 +システムクラッシュ ★DDL文、DCL文はCOMMITされる -9.17 読み取り一貫性 +通常のSELECT文を実行してもロック待ちにはならない  →SELECT ~ FOR UPDATE で明示的にロックを確保することもできる +更新中のデータに対しSELECT文を実行すると、UNDOセグメント(ロールバックセグメント)のデータが使われる +1つのSELECT文の中で複数回同じデータを検索しても、SELECT文の開始時にコミットされたデータが保証される : UNDO | 説明文
-9.1 INSERT文使用時のポイント INSERT文で挿入する列名を省略した場合、全ての列に値を指定する必要がある。 -9.2 DEFAULT値指定時のDML 列にDEFAULT値が指定してある場合、DMLにてDEFAULTを使用することができる。 (例)INSERT INTO VALUES (2000,DEFAULT,500) -9.3 小数点付NUMBER型 NUMBER(5,2)の場合(整数桁を3桁まで、少数桁を2桁まで格納) ◆123.45 → 問題なく格納 ◆1234.56 → エラー(整数桁が1桁多い) ◆123.456 → 123.46で格納(小数第三位が丸められる) -9.4 TO_DATE関数の引数省略時のデフォルト値 月日を省略した場合  月:当月  日:1日 時間を省略した場合  午前0時0分0秒 -9.5 EMP表をCOPY_EMP表にコピーする場合 ○ INSERT INTO COPY_EMP SELECT * FROM EMP × INSERT INTO COPY_EMP AS SELECT * FROM EMP -9.9 DELETE文の基本構文 DELETE [FROM] 表名 ★"FROM"は省略できる -9.10 with check option ■INSERT、UPDATE、DELETE文の中で表の変わりに副問合せを使用した場合に、副問合せのWHERE句に違反する行を生成させない (例) ◆INSERT INSERT INTO view1( SELECT empno, ename, deptno FROM emp WHERE deptno = 10 WITH CHECK OPTION) VALUES (1010, 'JONY',20); →エラー ◆UPDATE UPDATE( SELECT empno, ename, deptno FROM emp WHERE deptno = 10 WITH CHECK OPTION) SET deptno = 20 FROM view1; →エラー ◆DELETE DELETE句の場合はWHERE句に存在しない行は元々存在しないので、エラーになりません。 -9.11 TRUNCATE TABLE +表から全ての行を削除する +DDL文なのでロールバックできない  →DELETE文より処理が速い(ロールバック情報を生成しないため) +表が利用していた領域が開放され、他のオブジェクトで再利用可能になる  →DELETE文の場合、領域はその表に対する以降のINSERT文で再使用される +削除トリガーを起動しない +外部キー制約(参照整合性制約)の親表を切り捨てることはできない -9.12 トランザクションの終了条件 【トランザクションが終了する場合】 +DDL文およびDCL文の実行 +DBを更新しているアプリケーション(SQL*Plus、iSQL*Plusなど)の終了 +システムクラッシュ 【トランザクションが終了しない場合】 +SAVEPOINT文の実行 +ROLLBACK TO (SAVEPOINT);の実行 -9.14 自動ロールバックされるイベント +DBを更新しているアプリケーション(SQL*Plus、iSQL*Plusなど)の終了 +システムクラッシュ ★DDL文、DCL文はCOMMITされる -9.17 読み取り一貫性 +通常のSELECT文を実行してもロック待ちにはならない  →SELECT ~ FOR UPDATE で明示的にロックを確保することもできる +更新中のデータに対しSELECT文を実行すると、UNDOセグメント(ロールバックセグメント)のデータが使われる +1つのSELECT文の中で複数回同じデータを検索しても、SELECT文の開始時にコミットされたデータが保証される

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー