コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
/*
組織変更により部門テーブル(DEPARTMENT)の部門コード(DEPT_CODE)='A100' と'A200'が、新設される部門コード='B300'に統合されることになった。
組織変更の対応として、下記の処理を行いなさい。
また、部門テーブルは組織変更の履歴管理のために開始日と終了日を持っており、変更があった部門の終了日には変更された日付が設定されている。
セミコロン「;」でSQL文を区切ることで、複数のクエリを実行できます。
また、最後にSELECT文を合わせて記載することで、データの更新結果を確認できます。
処理1 :新設された部門('B300')を'A100'のデータを利用して作成する。
DEPT_CODE = 'B300'
START_DATE = '2023-04-01'
END_DATE = NULL
DEPT_NAME = '新設部門'
LAYER = 'A100'のLAYER
UP_DEPT_CODE = 'A100'のUP_DEPT_CODE
VALID_FLG = '1'
UPDATE_USER_NAME = 'A100'のUPDATE_USER_NAME
USER_UPDATE_DATETIME = '2023-04-01 00:00:00'
処理2 :統合される部門('A100','A200')を無効に変更する。
END_DATE = '2023-03-31'
VALID_FLG = '0'
UPDATE_USER_NAME = 'ORG_CHG'
USER_UPDATE_DATETIME = '2023-03-31 23:59:59'
処理3 : 社員テーブル(EMP)の部門コード(DEPT_CODE)が統合される部門コードになっているデータの部門コードを、
新設される部門コードに変更する。ただし、有効なデータ(VALID_FLG = '1')のみ対象とする。
DEPT_CODE ='B300'
START_DATE = '2023-04-01'
UPDATE_USER_NAME = 'ORG_CHG'
USER_UPDATE_DATETIME = '2023-04-01 00:00:00'
*/
insert into DEPARTMENT values(
'B300',
'2023-04-01',
NULL,
'新設部門',
(select LAYER from DEPARTMENT where DEPT_CODE = 'A100'),
(select UP_DEPT_CODE from DEPARTMENT where DEPT_CODE = 'A100'),
'1',
(select UPDATE_USER_NAME from DEPARTMENT where DEPT_CODE = 'A100'),
'2023-04-01 00:00:00'
);
update DEPARTMENT set
END_DATE = '2023-03-31',
VALID_FLG = '0',
UPDATE_USER_NAME = 'ORG_CHG',
USER_UPDATE_DATETIME = '2023-03-31 23:59:59'
where
DEPT_CODE in ('A100','A200');
update EMP set
DEPT_CODE ='B300',
START_DATE = '2023-04-01',
UPDATE_USER_NAME = 'ORG_CHG',
USER_UPDATE_DATETIME = '2023-04-01 00:00:00'
where
DEPT_CODE in ('A100','A200') and VALID_FLG = '1';
提出情報
提出日時 | 2024/07/26 09:51:21 |
コンテスト | 第6回 SQLコンテスト |
問題 | 組織変更 |
受験者 | asano |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 85 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
85 MB
データパターン2
AC
84 MB