2025.Dec.14
最近休んではやって…休んではやって…だな
クリスマスまであと10日なのでシュトーレンを開けました![]()
会社から貰ったアドベントカレンダーの紅茶と一緒に…何てシアワセな時間なんだろう
ってな訳で忘れていた事の覚書+今日も練習問題を解く
・1つのマルチテーブル・インサートには最大127個のWHEN句を指定できる
GRANT文について
GRANT {オブジェクト権限 | ALL} ON オブジェクト名 TO {ユーザー名 | PUBLIC} [WITH GRANT OPTION];
※ALLは全てのオブジェクト権限
※WITH GRANT OPTION句を指定すると、オブジェクト権限を付与されたユーザーが他のユーザーに対してオブジェクト権限を付与できるようになる
・外部表に索引を作成したり、DML文での更新は不可
・複数行の列の値を連結して1行で表示したい時はLISTAGG関数を使う
LISTAGG(連結して表示する列名 [, 'デリミタ'])
WITHIN GROUP(ORDER BY ソートする項目 [ASC | DESC])
区切り記号のデリミタは省略可。省略すると列の値は区切り記号なしに連結して表示される。
WITHIN GROUP(ORDER BY~)キーワードは省略できず、必ずこの書式で記述しなければならない。
・COALESCE関数は引数の値を判定し、最初に見つかったNULL値以外の値を返す関数。
⇒引数はすべて同じデータ型の値でなければなりません。(暗黙的なデータ変換は行われず、異なるデータ型の値を指定するとエラーになる)
・2つ以上の列の組合せに対して索引を作成する場合、CREATE INDEX文のON句に索引を作成する全ての列名を指定する。
・一意索引を作成するには、CREATE INDEX文にUNIQUEオプションを指定する。
・プライベートシノニムとパブリックシノニムで同じ名前のシノニムを作成することが出来る
・プライベートシノニムとパブリックシノニムで同名のシノニムがある場合は、プライベートシノニムが優先される。
・順序の作成時にCYCLEオプションを指定した場合は、重複した順序値が生成されることもある。
・順序は表と関連付けられるものではないので、複数の表で1つの順序を使用することもできる。
・同一スキーマ内で表とビューに同じ名前を使用することは不可。
・異なるスキーマ同士では同じオブジェクト名を使用することが可。
・列名はスキーマ・オブジェクトでは無い為、表名と同じ名前を使用することが可。