コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
-- 処理1: 新設された部門('B300')を作成する
INSERT INTO DEPARTMENT (
DEPT_CODE,
START_DATE,
END_DATE,
DEPT_NAME,
LAYER,
UP_DEPT_CODE,
VALID_FLG,
UPDATE_USER_NAME,
USER_UPDATE_DATETIME
)
SELECT
'B300', -- 新設部門コード
'2023-04-01', -- 新設部門の開始日
NULL, -- 終了日はNULL
'新設部門', -- 新設部門名
LAYER, -- 'A100'のLAYER
UP_DEPT_CODE, -- 'A100'のUP_DEPT_CODE
'1', -- 有効フラグ
UPDATE_USER_NAME, -- 'A100'のUPDATE_USER_NAME
'2023-04-01 00:00:00' -- 更新日時
FROM
DEPARTMENT
WHERE
DEPT_CODE = 'A100'; -- 'A100'のデータを基に作成
-- 処理2: 統合される部門('A100','A200')を無効に変更する
UPDATE DEPARTMENT
SET
END_DATE = '2023-03-31', -- 統合日を終了日として設定
VALID_FLG = '0', -- 無効フラグに変更
UPDATE_USER_NAME = 'ORG_CHG', -- 更新者名を'ORG_CHG'に変更
USER_UPDATE_DATETIME = '2023-03-31 23:59:59' -- 更新日時を設定
WHERE
DEPT_CODE IN ('A100', 'A200'); -- 'A100'と'A200'が対象
-- 処理3: 社員テーブルの部門コードを新設部門('B300')に変更
UPDATE EMP
SET
DEPT_CODE = 'B300', -- 新設部門に更新
START_DATE = '2023-04-01', -- 部門変更の開始日
UPDATE_USER_NAME = 'ORG_CHG', -- 更新者名を'ORG_CHG'に変更
USER_UPDATE_DATETIME = '2023-04-01 00:00:00' -- 更新日時
WHERE
DEPT_CODE IN ('A100', 'A200') -- 'A100'または'A200'が対象
AND VALID_FLG = '1'; -- 有効なデータのみ対象
-- 結果確認: 部門テーブルの更新結果を確認
SELECT *
FROM DEPARTMENT
WHERE DEPT_CODE IN ('A100', 'A200', 'B300');
-- 結果確認: 社員テーブルの更新結果を確認
SELECT *
FROM EMP
WHERE DEPT_CODE = 'B300';
提出情報
提出日時 | 2024/09/19 16:44:50 |
コンテスト | 第6回 SQLコンテスト |
問題 | 組織変更 |
受験者 | lulei |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 86 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
83 MB
データパターン2
AC
86 MB