rink_rewさんの投稿一覧

助け合いフォーラムの投稿
2024/07/24 返信
MERGE文 入れ替え

「WHEN MATCHED THEN」と「WHEN NOT MATCHED THEN」の順序は入れ替えても、MERGE文としてはエラーにはなりません。
ご提示のケースでもエラーにはならず、実行後は同様の結果となりました。

SQL> select * from cust_source;

    ID NAME	  A EMAIL		 BIRTH_DAY
------ ---------- - -------------------- -----------
     1 scott	  Y scott@xx.com	 66-06-03
     2 allen	  N al@yy.com		 82-04-18
     3 john	  Y John@zz.com 	 73-12-30
     4 king	  Y king@zz.com 	 91-01-15

SQL> select * from cust_copy;

    ID NAME	  A
------ ---------- -
     1 SCOTT	  Y
     2 ALLEN	  Y
     3 TBD
     
SQL> MERGE INTO cust_copy c USING (SELECT id, UPPER(name) name, active FROM cust_source) p ON (c.id=p.id)
	WHEN NOT MATCHED THEN
		INSERT VALUES (p.id, p.name, p.active)
	WHEN MATCHED THEN
		UPDATE SET c.name=p.name, c.active=p.active;

4行がマージされました。

SQL> select * from cust_copy;

    ID NAME	  A
------ ---------- -
     1 SCOTT	  Y
     2 ALLEN	  N
     3 JOHN	  Y
     4 KING	  Y

SQL>

ただし、処理順序(条件を評価する順序)は変わると思うので、実運用においてはデータの内容によっては結果が異なる可能性はあります。
また、パフォーマンスにも違いが出てくる可能性はあると思います。(そのような場合には実行計画の取得などして、チューニングしていくことになると思います。)

2024/07/01 コメント
制御ファイルの多重化の意味について
制御ファイルを多重化しておくことで、一部の制御ファイルが破損してデータベースが起動できなくなった場合でも、正常な制御ファイルをコピーして素早く復旧ができる、という点は推奨されるに値するメリットかなと思います。
2024/07/01 返信
制御ファイルの多重化の意味について

解説の以下の文が多重化の目的の説明になっていると思います。

制御ファイルの多重化の目的は、障害が発生してもシステムを停止させずに運用することではなく、制御ファイルに格納されている情報を保護することにあります。

ただ、破損の仕方にもよると思うのですが、多重化された制御ファイルの1つだけ破損しても、必ずしも即時に停止してしまうとは限らなかったと思います。
例えば、制御ファイル自体が消失(誤って削除)してしまった場合や、制御ファイル自体はOS上のファイルとして依然として存在しているが、バイナリファイルとして中身が不正な状態になってしまった場合など、それぞれ挙動はちょっと違ったような気がします。
Bronze試験の範囲としてこの辺について問われる問題が出題されるかはわかりませんが、もう少し正確に言うと「破損した制御ファイルにアクセスするような操作が実行されると停止する」という感じでしょうか。

※今の試験体系ではなく古いバージョンでの話ですが、Gold試験では、バックアップからのリストア・リカバリ関連の問題は結構出題されていたような記憶があります。

2024/06/27 返信
最小値?

この問題の副問合せ(SELECT MAX(salary) / 2 FROM employees GROUP BY department_id)は、複数行を返す可能性があります。
「ALL」は「リスト内の全ての値が条件を満たす場合TRUE」です。この問題では「<ALL」が使用されているので、「左辺の値(部署の平均給与)が、右辺の値(全ての部署の最高給与の半分)より少ないもの」が結果として返されます。

「全ての値より少ない」は「最小値より少ない」に言い換えられると思います。

2024/06/24 返信
オプションにハイフンが漏れている

誤答として「その効果の中身で迷わせたい」のだろうと思いますし、「-E」が本来意図した選択肢の記述でしょうね。

合格体験記の投稿
投稿がありません