ソースコード
-- 処理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'

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, '新設部門', D.LAYER, D.UP_DEPT_CODE, '1', D.UPDATE_USER_NAME, '2023-04-01 00:00:00'
from DEPARTMENT D where DEPT_CODE = 'A100';

-- select * from DEPARTMENT

-- 処理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'

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');

-- 処理3 : 社員テーブル(EMP)の部門コード(DEPT_CODE)が統合される部門コードになっているデータの部門コードを、新設される部門コードに変更する。
-- ただし、有効なデータ(VALID_FLG = '1')のみ対象とする。
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 VALID_FLG = '1' and DEPT_CODE in ('A100','A200');

-- select * from EMP
提出情報
提出日時2023/07/26 16:23:35
コンテスト第6回 SQLコンテスト
問題組織変更
受験者katayaaaaaaman
状態 (詳細)AC
(Accepted: 正答)
メモリ使用量80 MB
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
80 MB
データパターン2
AC
80 MB