-- 損保ジャパン横須賀支社情報


-- トリガーの削除
DROP TRIGGER IF EXISTS headoffice_updated_at ON headoffice;


-- テーブルの削除
DROP TABLE IF EXISTS headoffice CASCADE;


-- テーブルを作成
CREATE TABLE headoffice (
    id SERIAL PRIMARY KEY, -- 主キー
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, -- 作成日時
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, -- 更新日時
    last_updater VARCHAR(255),           -- 最終更新者   
    company_name VARCHAR(255) NOT NULL, -- 会社名
    branch_name VARCHAR(255), -- 支社名
    postal_code VARCHAR(10), -- 郵便番号
    address TEXT, -- 住所
    phone_number VARCHAR(20), -- 電話番号
    business_hours VARCHAR(255) -- 営業時間
);


--関数の作成（update_timestamp）
CREATE OR REPLACE FUNCTION update_timestamp()
RETURNS TRIGGER AS $$ 
BEGIN
    NEW.updated_at = CURRENT_TIMESTAMP;  -- 更新日時を現在時刻に設定
    RETURN NEW;
END;
$$ LANGUAGE plpgsql;


-- トリガーの作成（updated_at の自動更新）
CREATE TRIGGER headoffice_updated_at
BEFORE UPDATE ON headoffice
FOR EACH ROW
EXECUTE PROCEDURE update_timestamp();


-- 初期データ挿入
INSERT INTO headoffice (
    company_name,
    branch_name,
    postal_code,
    address,
    phone_number,
    business_hours
) VALUES (
    '損害保険ジャパン株式会社',
    '横須賀支社',
    '238-0011',
    '神奈川県横須賀市米々浜１-６　村瀬ビル６階',
    '046-824-9144',
    '平⽇9:00~17:00（⼟曜・⽇曜、祝⽇、12⽉31⽇~1⽉3⽇は休み）'
);