暗記メーカー

お問い合わせ
ログイン
DBA 7章から
  • 石橋玲奈

  • 問題数 99 • 3/3/2025

    問題一覧

  • 1

    SHRINK SPACE句によるオンラインセグメントの縮小について正しい2つ

    索引セグメントを縮小することはできる, 表を縮小する前に、行移動(ROW MOVEMENT)を有効化しておく必要がある

  • 2

    CUSTOMERS表に対して次のコマンドを実行し、正常に行われた ALTER TABLE CUSTOMERS SHRINK SPACE COMPACT; このコマンドについて正しい記述はどれか1つ

    行がセグメント内の前のほうの空き領域に移動することで断片化が解消される

  • 3

    セグメントのタイプに該当するものどれか3つ

    表, クラスタ, UNDO

  • 4

    様々なセグメントについて正しい説明はどれか2つ

    UNDOセグメントは、UNDO表領域に格納される, 1つのクラスタセグメントに、複数の表のデータが含まれることがある

  • 5

    表の圧縮方法と対応する構文の組み合わせとして正しいもの あ ROW STORE COMPRESS BASIC い ROW STORE COMPRESS ADVANCED う COLUMN STORE COMPRESS FOR QUERY HIGH え COLUMN STORE COMPRESS FOR ARCHIVE HIGH

    基本表圧縮:あ 高度な行圧縮:い

  • 6

    ROW STORE COMPRESS BASICオプションをつけて表を作成した。このオプションの説明として正しい1つ

    ダイレクトパスインサートにより挿入された行のみ圧縮する

  • 7

    EMPLOYEES表にはFIRST_NAME_IDXという索引が存在する 次のコマンドを実行するとどのようになるか1つ ALTER INDEX first_name_idx UNUSABLE;

    first_name_idx索引のセグメントが削除される

  • 8

    UNDOセグメントが格納される場所はどこか1つ

    UNDO表領域のデータファイル

  • 9

    正しい組み合わせ あ コミットされていないトランザクションによるUNDOで構成される い 領域不足のエラーを回避するために、一番最初に上書きされる う フラッシュバック問合せをサポートする目的で保存期間を設定している え トランザクションをロールバックするために必要である

    アクティブなUNDO あ、え 期限切れになっていないUNDO う 期限切れのUNDO い

  • 10

    UNDOセグメントの使用について正しい1つ

    アクティブなUNDOとは、未コミットのトランザクションによるUNDOである

  • 11

    REDOおよびUNDOについて正しい組み合わせ あ 読取り一貫性のために使用される い フラッシュバック問合せのために使用される う フラッシュバックドロップのために使用される え ロールフォワードのために使用される お 多重化できる か ロールバックのために使用される

    REDO え、お UNDO あ、い、か

  • 12

    UNDOセグメントおよびUNDO表領域について正しい2つ

    1つのデータベース上に複数のUNDO表領域を作成することができる, 何らかの障害によりアクティブなUNDO表領域が失われると、インスタンスはクラッシュする

  • 13

    UNDO_MANAGEMENTパラメータはAUTOに設定されている。次のコマンドで作成する表領域をUNDO表領域として使用するには何を行う必要があるか1つ CREATE UNDO TABLESPACE undotbs02;

    UNDO_TABLESPACEパラメータをUNDOTBS02に設定する

  • 14

    自動UNDO管理を使用している 次の一連のコマンドを実行した CREATE UNDO TABLESPACE undotbs05 DATAFILE 'u01/app/oracle/oradata/undotbs05.dbf' SIZE 100M AUTOEXTEND OFF; ALTER SYSTEM SET UNDO_TABLESPACE=undotbs05; ALTER SYSTEM SET UNDO_RETENTION=900; 想定よりはるかに多いトランザクションが実行され、期限切れでないundoによりundotbs05が埋まってしまった UNDOTBS05表領域について正しい1つ

    コミットから900秒経過すると、期限切れのUNDOとなる

  • 15

    自動UNDO管理を使用する 次の一連のコマンドを実行した CREATE UNDO TABLESPACE undotbs04 DATAFILE 'u01/app/oracle/oradata/undotbs04.dbf' SIZE 100M AUTOEXTEND OFF; ALTER SYSTEM SET UNDO_TABLESPACE=undotbs04; ALTER SYSTEM SET UNDO_RETENTION=900; 想定よりはるかに多いトランザクションが実行され、期限切れでないUNDOによりundotbs04が埋まっていた この状態で、新しいトランザクションが発行されるとどうなるか1つ

    正常に実行され、生成されたUNDOにより、期限切れではないUNDOの一部が上書きされる

  • 16

    TEMP_UNDO_ENABLESをTRUEに設定している。一時UNDOレコードが格納されるのはどこか1つ

    一時表領域

  • 17

    グローバル一時表に対するトランザクションを行っている。TEMP_UNDO_ENABLEDをTRUEに設定することで、どのような効果があるか3つ

    READ ONLYに設定されているデータベース上で、グローバル一時表に対してDMLを実行できる, REDOの生成量が減る, UNDO表領域のI/Oが減る

  • 18

    SELECT文の説明において正しいものはどれか2つ

    SELECT文ではFROM句の指定が必須である, 「*」を指定するとすべての列を出力できる

  • 19

    データ型の説明して正しいものどれか あ:STRING い:VARCHAR2 う:CHAR え:NUMBER お:NUM

    あ このようなデータ型はOracleに存在しない い 可変長文字列 う 固定長文字列 え 整数及び少数 お このようなデータ型はOracleに存在しない

  • 20

    列別名を「*」(二重引用符)で括る必要があるのは、どのようなケースか3つ

    DATEやTYPE、TABLE、UPDATEといったOracleの予約語を列別名として使用するケース, 列別名に空白や-,?などの名前に使用できない記号を含むケース, 列別名に小文字を含み、列別名の大文字/小文字を区別したいケース

  • 21

    列別名について正しい2つ

    列別名の前のASは省略可能である, 列別名をつけると、問合せ結果の出力の見出しが列別名で表示される

  • 22

    正常に実行される問合せはどれか1つ

    SELECT employee_id EMP-ID ,job_id "TYPE" ,department_id || job_id DETAIL , salary*0.1 "Approx Tax" FROM employees;

  • 23

    DESCRIBEコマンドの出力で確認できることは何か3つ

    各列の列名, 各列のデータ型と精度, 各列のNULL値の格納の可否

  • 24

    DUAL表について正しい2つ

    ファンクションや演算子の動作を確認するために使用できる, 1行だけデータが格納されている

  • 25

    正常に実行される問合せはどれか1つ

    SELECT employee_id "EMP-ID" FROM employees WHERE job_id = 'FI_MGR';

  • 26

    EMPLOYEES表の名前(FIRST_NAME)と職種(JOB_ID)を-をでつなげて「scott-IT_MGR」のように表示したい 適した問合せ1つ

    SELECT first_name || '-' || job_id FROM employees;

  • 27

    部門番号(DEPARTMENT_ID)と職種(JOB_ID)のリストを作りたい どの部門にどの職種があるのか知りたいだけなので、EMPLOYEES表のデータに存在する部門と職種の組み合わせを重複を除いて表示する どの問い合わせを使用する

    SELECT DISTINCT department_id ,job_id FROM employees;

  • 28

    EMPLOYEES表の名前(FIRST_NAME)と社員番号(EMPLOYEES_ID)を「scott's ID is 100」のように表示したい 適した問合せはどれか2つ

    SELECT first_name || q'¥'s ID is ¥' || employee_id FROM employees;, SELECT first_name || q'<'s ID is >' || employee_id FROM employees;

  • 29

    算術演算子の優先順位のルールについて正しい記述2つ

    *と+のみを含む式では、かっこがない場合、*が優先される, 優先したい箇所を()で括ることで式内の算術演算子のデフォルトの優先順位を変更できる

  • 30

    commission_pct列がNULLでないデータを抽出したい場合、どのようなWHERE句を使うか1つ

    WHERE commission_pct IS NOT NULL

  • 31

    EMPLOYEES表のCOMMISSION_PCT列の値がNULLで、JOB_ID列の値がNULLでない行を表示したい 適した問合せ1つ

    SELECT * FROM employees WHERE commission_pct IS NULL AND job_id IS NOT NULL;

  • 32

    WHERE句に指定する検索条件の説明として正しいもの あ:IN い:BETWEEN う:ON え:LIKE

    あ リストアップした複数の値のいずれかに等しい い 2つの値の間に含まれる う このような検索条件はOracleに存在しない え 文字列のあいまい検索を行う

  • 33

    EMPLOYEES表から、後ろから3文字目がrで、rの前に4文字以上ある苗字(LAST_NAME)を抽出したい どの問合せを使用するか1つ

    SELECT * FROM employees WHERE last_name LIKE '____%r__';

  • 34

    次の問合せと同じ結果を戻すWHERE句はどれか2つ SELECT * FROM employees WHERE department_id > 30 AND job_id IN ('ST_CLERK','SH_CLERK','SA_REP') OR salary > 4000;

    WHERE (department_id>30 AND job_id IN ('ST_CLERK','SH_CLERK','SA_REP')) OR salary >4000;, WHERE department_id>30 AND (job_id = 'ST_CLERK' OR job_id ='SH_CLERK' OR job_id = 'SA_REP') OR salary >4000;

  • 35

    ORDER BY句について正しい記述はどれか2つ

    ORDER BY句では、SELECTリストの位置の数字で指定できる, SELECTリストで指定しなかった列でソートすることもできる

  • 36

    次のコマンドはどのような順でソートされるか1つ department_id列はNUMBER型、hire_date列はDATE型 SELECT department_id,first_name,hire_date FROM employees ORDER BY 1,3 DESC;

    department_idについて小さい順にソート、それを崩さない範囲でhire_dateについて新しい順にソートされる

  • 37

    名前(FIRST_NAME)、部門番号(DEPARTMENT_ID)、職種番号(JOB_ID)のリストを作る このリストは、名前(FIRST_NAME)に文字列am(大文字/小文字は問いません)が含まれるデータのみ含む また、リストは部門番号について昇順で、職種番号について降順でソートする 適切な問合せ1つ

    SELECT first_name,department_id,job_id FROM employees WHERE UPPER(first_name) LIKE '%AM%' ORDER BY 2,3 DESC;

  • 38

    置換変数に関して正しい1つ

    置換変数はINSERT文でも使用できる

  • 39

    SELECT employee_id,&&column,job_id FROM employees WHERE job_id =&job; 同じセッションでこのスクリプトを4回実行した。なお、セッションの中で、DEFINEコマンドやUNDEFINEコマンドは使用しない。 また、job_id列はVARCHAR2型。 正しい記述2つ

    jobの値の入力は、4回求められる, jobに値を入力するときは、'IT_MGR'のように '(引用符)で括った状態で入力する必要がある

  • 40

    置換変数を明示的に定義するSQL*Plusコマンドはどれか1つ

    DEFINE

  • 41

    SET VERIFY ON/OFFの設定について正しい2つ

    SQL Developerで使用できる, ONにすると、&&置換変数を含むSQLを実行するときに、置換前後のSQLが表示される

  • 42

    単一行ファンクションに関して正しい1つ

    問合せ対象の表の各行に対して1つの結果行を戻す

  • 43

    単一行ファンクションとその説明として正しいもの1つ あ 除算のあまりを戻す い べき乗を戻す う 値を指定した位置で四捨五入する え 値を指定した位置で切り捨てる お 2つの文字列を連結する か すべて大文字にする き 頭文字だけ大文字、残りを小文字にする

    あ MOD い POWER う ROUND え TRUNC お CONCAT か UPPER き INITCAP

  • 44

    次の問い合わせを確認する 文1:SELECT ROUND(1789.5678,2) FROM dual; 文2:SELECT TRUNC(1789.5678,-2) FROM dual; それぞれの結果1つ

    1: 1789.57 2: 1700

  • 45

    SELECT POWER(3,3) FROM dual; どのような結果が返されるか1つ

    27

  • 46

    SELECT MOD(8,3) FROM dual; どのような結果が返されるか1つ

    2

  • 47

    hire_date列のデータ型はDATE 次の式と戻す値のデータ型について正しい記述1つ

    hire_date+10は日付を戻す

  • 48

    NLS_DATE_FORMATはDD-MON-RRに、NLS_DATE_LANGUAGEはAMERICANに設定されている SELECT MONTHS_BETWEEN('31-DEC-20','31-OCT-20') FROM dual; どのような結果が返るか1つ

    2

  • 49

    NLS_DATE_FORMATはDD-MON-RRに、NLS_LANGUAGEはAMERICAN、NLS_TERRITORYはAMERICAに設定されている 2020年12月1日は火曜日 今、2020年12月1日の次の金曜日の日付を調べたい。どの問合せを使用するか2つ

    SELECT NEXT_DAY('01-DEC-20','FRI') FROM dual;, SELECT NEXT_DAY('01-DEC-20',6) FROM dual;

  • 50

    NLS_DATE_FORMATはDD-MON-RRに、NLS_DATE_LANGUAGEはAMERICANに設定されている SELECT ADD_MONTHS('15-JUN-21',3) FROM dual; 返される値は何を意味するか1つ

    2021年6月15日の3か月後の日付

  • 51

    SELECT ROUND(TRUNC(314.1592,-2),2) FROM dual; どのような結果になるか1つ

    300

  • 52

    SELECT REPLACE(TRIM(TRAILING '1' FROM '01ABCDE01'),'01','99') FROM dual; どのような結果が返される1つ

    99ABCDE0

  • 53

    入社日(hire_date)の翌月の最初の金曜日の日付2020-12-31のような書式で表示したい NLS_LANGUAGEはAMERICAN、NLS_TERRITORYがAMERICAに設定されている どの問合せを使用するか1つ

    SELECT TO_CHAR(NEXT_DAY(LAST_DAY(hire_date),6),'YYYY-MM-DD')from employees;

  • 54

    入社日(hire_date)から3か月経過した後の最初の水曜日の日付を表示したい セッションでNLS_TERRITORYはAMERICAに設定されているため、週の最初の曜日は日曜日 どの問合せを使用するか2つ

    SELECT employee_id,NEXT_DAY(ADD_MONTHS(hire_date,3),'WEDNESDAY') FROM employees;, SELECT employee_id,NEXT_DAY(ADD_MONTHS(hire_date,3),4) FROM employees;

  • 55

    SELECT TO_CHAR(12345.67,'$9,999') FROM dual; どのような出力になるか1つ

    #######と表示される

  • 56

    日付の表示書式はDD-MM-RRに設定されている また、NLS_LANGUAGEはAMERICANに設定されている 変換ファンクションの使い方が正しい2つ

    SELECT * FROM employees WHERE hire_date > TO_DATE('2005/01/31','YYYY/MM/DD);, SELECT * FROM employees WHERE TO_CHAR(hire_date,'YYYY-MM-DD') = '2005-01-31'

  • 57

    WHERE句の記述を確認 hire_date列はDATE型、salary列はNUMBER型 NLS_DATE_FORMATはDD-MM-RRに、NLS_LANGUAGEはAMERICANに設定されている 変換ファンクションによる明示的な方変換が必要なもの1つ

    WHERE hire_date < '31-03-05'

  • 58

    hire_date列はDATE型、salary列はNUMBER型 SELECT CONCAT(first_name,CONCAT(salary,hire_date) FROM employees; 正しい1つ

    データ型は暗黙変換され、正常に実行される

  • 59

    正常に実行される問い合わせはどれか3つ

    SELECT COALESCE(10,100,1000) FROM dual;, SELECT COALESCE('A',NULL,'B','10') FROM dual;, SELECT COALESCE(NULL,10,100) FROM dual;

  • 60

    EMPLOYEES表からコミッション割合(COMMISION_PCT列)のリストを作成する コミッション割合がNULLの行は、「No Commission」と表示する。なお、COMMISSION_PCT列はNUMBER型。エラーにならずに実行される2つ

    SELECT employee_id,NVL(TO_CHAR(commission_pct),'NO Commission') FROM employees;, SELECT employee_id,NVL2(commission_pct,TO_CHAR(commission_pct),'NO Commission') FROM employees;

  • 61

    COUNT関数について正しい記述2つ

    COUNT(department_id)はdepartment_id列がNULL値以外の数を戻す, COUNT(DISTINCT job_id)はjob_id列の値がNULL値以外でかつ重複値を除いた数を戻す

  • 62

    TEST表のデータ SQL>SELECT * FROM test; ID NAME --- ---- 1 A 2 B 3 4 A 次の問合せは何を返すか1つ あ:SELECT COUNT(ID) FROM test; い:SELECT COUNT(NAME) FROM test; う:SELECT COUNT(DISTINCT NAME) FROM test; え:SELECT COUNT(DISTINCT NVL(NAME,'N')) FROM test; お:SELECT COUNT(*) FROM test;

    あ:4 い:3 う:2 え:3 お:4

  • 63

    集計関数について正しい2つ

    MAX関数、MIN関数は文字列データに対して使用できる, MAX関数、MIN関数はDATEデータに対して使用できる

  • 64

    実行してエラーにならない問い合わせはどれか1つ

    SELECT department_id,job_id,AVG(salary) FROM employees GROUP BY job_id,department_id;

  • 65

    正常に実行される問い合わせはどれか2つ

    SELECT COUNT(job_id) FROM employees WHERE commission_pct IS NULL AND first_name LIKE 'A%';, SELECT COUNT(DISTINCT job_id) FROM employees WHERE commission_pct IS NULL GROUP BY department_id HAVING count(department_id)>4;

  • 66

    GROUP BY句を含む問合せについて、正しい記述2つ

    WHERE句を使用すると、グループに分割する前に必要な行を選択することができる, WHERE句には、集計ファンクションを含む条件を含めることができない

  • 67

    SELECT文のHAVING句について正しい1つ

    HAVING句を使用すると、グループに分割した後で結果を絞り込むことができる

  • 68

    SELECT employee_id, department_name FROM employees RIGHT OUTER JOIN departments USING (department_id); この問い合わせはどれに分類されるか1つ

    右側外部結合

  • 69

    外部結合について正しい説明2つ

    左側外部結合は、結合条件が一致するすべての行に加えて、結合条件が一致しない行の一部を戻す, 外部結合の結果には、内部結合で返されるデータが含まれている

  • 70

    SQL:1999準拠のANSI結合構文で、自然結合を行うときのキーワードはどれか1つ

    NATURAL JOIN

  • 71

    正しい記述1つ

    SQL:1999準拠のANSI結合構文では、完全外部結合の構文がある

  • 72

    自己結合しているのはどれか2つ

    SELECT e.employee_id,e.manager_id,e.first_name || ' reports to ' || m.first_name FROM employees e LEFT OUTER JOIN employees m ON e.manager_id = m.employee_id;, SELECT e.employee_id,e.manager_id,e.first_name || ' reports to ' || m.first_name FROM employees e,employees m WHERE e.manager_id = m.employee_id(+);

  • 73

    自己結合について正しい2つ

    ON句を使用して結合できる, 外部結合であってもよい

  • 74

    次の問い合わせは何を行っているか1つ SELECT employee_id,location_id FROM employees CROSS JOIN departments;

    デカルト積

  • 75

    EMPLOYEES表と、次のYEARS表がある TIME_RANGE BEGIN_DATE END_DATE ------------------- ------------------- ---------------- OLD 01-JAN-2000 31-DEC-2002 MID 01-JAN-2003 31-DEC-2005 NEW 01-JAN-2006 31-DEC-2009 非等価結合を行っているものはどれか3つ

    SELECT e.employee_id,e.hire_date,y_time_range FROM employees e JOIN years y ON (e.hire_date BETWEEN y.begin_date);, SELECT e.employee_id,e.hire_date,y_time_range FROM employees e LEFT OUTER JOIN years y ON (e.hire_date >= y.begin_date AND e.hire_date <= y.end_date);, SELECT e.employee_id,e.hire_date,y_time_range FROM employees e,years y WHERE e.hire_date BETWEEN y.begin_date AND y.end_date;

  • 76

    非等価結合について正しい2つ

    Oracle結合構文を使用できる, SQL:1999準拠のANSI結合構文を使用できる

  • 77

    SQL:1999準拠のANSI結合構文では、非等価結合を行うときにどの句を使用して非等価結合条件を記述するか1つ

    ON句

  • 78

    単一行の副問合せについて正しい記述2つ

    副問合せが0行の結果を返した場合、エラーにはならない, WHERE句やHAVING句で使用できる

  • 79

    社員表(EMPLOYEES)を使用してレポートを作成する 副問合せを使用すると作成できるのはどのレポートか2つ

    全社員の平均給与より給与(SALARY)が低い人の人数, 名前(FIRST_NAME)がScottという人の給与(SALARY)より、給与が高い人の 苗字(LAST_NAME)

  • 80

    次の問合せについて正しい説明一つ SELECT employee_id,first_name FROM employees WHERE salary > ANY  (SELECT AVG(salary) FROM employees   GROUP BY department_id);

    部門ごとの平均給与の最高額よりも給与が高い人をリストしている

  • 81

    演算子とその説明として正しい組み合わせ1つ あ:1つ目の問合せと2つ目の問合せの両方に含まれるデータを戻す い:1つ目の問合せの結果に含まれ、2つ目の問合せの結果に含まれないデータを戻す う:1つ目の問合せの結果と、2つ目の問合せの結果を合わせたものを戻す 重複は排除しない え:1つ目の問合せの結果と、2つ目の問合せの結果を合わせたものを戻す 重複は排除する

    UNION:え UNION ALL:う INTERSECT:あ MINUS:い

  • 82

    UNION演算子、UNION ALL演算子、どちらの説明か 正しい組み合わせ1つ あ:重複行は排除される い:重複行は排除されない う:出力はソートされる え:出力はソートされない

    UNION:あ、う UNION ALL:い、え

  • 83

    UNION演算子について正しい記述2つ

    重複する値をチェックするときに、NULL値は無視されない, すべてのSELECT文で、選択する列の数が同じでなければならない

  • 84

    INTERSECT演算子による複合問合せについて正しい記述2つ

    1つのSQL文に複数のINTERSECT演算子を含めることができる, 両方の問合せに共通する行が返される

  • 85

    全く同じ表構造を持つGUEST19表とGUEST20表がある GUEST19表のデータの中でGUEST20表に含まれないデータを抽出したい 目的の結果を得るにはどの問合せを使用するか1つ

    SELECT * FROM guest19 MINUS SELECT * FROM guest20;

  • 86

    複合問合せの各問合せに含まれる列のデータと列数を一致させるために どのような方法を使うか1つ

    列リストに含まれる列数とデータ型を揃えるために、問合せの選択リストにNULLを追加する

  • 87

    EMPLOYEES19表EMPLOYEES20表はEMPLOYEES表と同じ表構造を持った表である SELECT employee_id AS "ID" ,first_name AS "NAME" FROM employees19 ① UNION SELECT employee_id AS "NO" ,last_name AS "LAST NAME" FROM employees20 ②; この問合せにORDER BY句を追加したい。 追加したときにエラーにならないものはどれか3つ

    ②の位置にORDER BY 2と追加する, ②の位置にORDER BY "NAME"追加する, ②の位置にORDER BY first_name追加する

  • 88

    UNIONを使用した問合せで返される結果について正しい1つ

    結果はSELECT句の1列目の列値が昇順になるようにソートされている

  • 89

    複合問合せにおけるORDER BY句の使用について正しい2つ

    ORDER BY句では、最初の問合せに含まれる列名や列別名で指定することもできる , ORDER BY句では、ソート列をSELECT列の位置の数字で指定することもできる

  • 90

    データ操作言語(DML)について正しい2つ

    INSERT文でNULL値を明示的に挿入することができる, INSERT文で明示的に値を設定しなかった列には、デフォルト値もしくはNULL値が挿入される

  • 91

    次のコマンドでCUSTOMERS表を作成した CREATE TABLE customoers (customoer_id NUMBER(4) PRIMARY KEY,  name VARCHAR(20) NOT NULL,  start_date DATE DEFAULT SYSDATE,  comments VARCHAR(1000));   正常に実行されるINSERT文はどれか1つ

    INSERT INTO customers VALUES(3,'KING',null,'From Web campaign');

  • 92

    PRODUCTS表からRELEASE_DATE列が2020年1月1日より前の行を削除したい 正常に実行されるDELETE文はどれか2つ

    DELETE products WHERE release_date < TO_DATE('2020-01-01','YYYY-MM-DD');, DELETE FROM products WHERE release_date < TO_DATE('2020-01-01','YYYY-MM-DD');

  • 93

    トランザクションについて正しい2つ

    データ操作言語(DML)文を発行すると、常に新しいトランザクションが開始される, 同じユーザーが別のセッションで行ったコミットされていない変更を確認できる

  • 94

    新しいトランザクションが開始され、トランザクションがアクティブな状態となっているのはどれか2つ

    ROLLBACK文を実行した後に、同じセッションでSELECT FOR UPDATE文を実行する , ALTER TABLE文を実行した後に、同じセッションでDELETE文を実行する

  • 95

    SAVEPOINTについて正しい1つ

    1つのトランザクションに複数のSAVEPOINTを設定できる

  • 96

    あるセッションで次の一連の文を実行した CREATE TABLE items (item_id NUMBER(3), name VARCHAR(40)); INSERT INTO items VALUES(1,'Pen'); INSERT INTO items VALUES(2,'Notebook'); INSERT INTO items VALUES(3,'Eraser'); SAVEPOINT a; INSERT INTO items VALUES(4,'Marker'); INSERT INTO items VALUES(5,'Pencil sharpner'); SAVEPOINT b; UPDATE items SET name = 'Ballpoint pen' where item_id=1; SAVEPOINT c; UPDATE items SET name = 'Whiteboard Marker'; ROLLBACK to c; UPDATE items SET name = 'Whiteboard Marker' WHERE item_id=4; COMMIT; 実行後の状況について正しい2つ

    5行のデータが格納されている, item_idが1の行のnameはBallpoint penになっている

  • 97

    CREATE TABLE emp_copy AS SELECT * FROM employees WHERE 1=0; 正しい1つ

    emp_copy表はからの表として作成される

  • 98

    ALTER TABLE文による表の変更に関する説明として正しい組み合わせ1つ あ:ALTER TABLE ADD い:ALTER TABLE MODIFY う:ALTER TABLE DROP え:ALTER TABLE SET UNUSED

    あ:列の追加 い:列の定義の変更 う:列の削除 え:列の未使用化

  • 99

    DROP TABLE文で表を削除したときに、同時に定義が削除されるものはどれか2つ

    その表の列に定義されていた索引, その表に定義されていた制約