-- =============================================
|
-- 社保公积金方案:新增「大病医疗」「长期护理」两项保险比例(可重复执行)
|
-- 说明:与原有养老保险等一致,均存"比例"(0~1,decimal(10,4))
|
-- =============================================
|
SET NAMES utf8mb4;
|
|
-- 以「大病医疗企业比例」列是否存在作为是否已加过的判断(一次加 4 列)
|
SET @col_exists := (SELECT COUNT(*) FROM information_schema.COLUMNS
|
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'hrm_social_security_scheme'
|
AND COLUMN_NAME = 'serious_illness_company_ratio');
|
SET @ddl := IF(@col_exists = 0,
|
'ALTER TABLE `hrm_social_security_scheme`
|
ADD COLUMN `serious_illness_company_ratio` decimal(10,4) NULL COMMENT ''大病医疗企业缴纳比例'' AFTER `maternity_ratio`,
|
ADD COLUMN `serious_illness_personal_ratio` decimal(10,4) NULL COMMENT ''大病医疗个人缴纳比例'' AFTER `serious_illness_company_ratio`,
|
ADD COLUMN `long_term_care_company_ratio` decimal(10,4) NULL COMMENT ''长期护理企业缴纳比例'' AFTER `serious_illness_personal_ratio`,
|
ADD COLUMN `long_term_care_personal_ratio` decimal(10,4) NULL COMMENT ''长期护理个人缴纳比例'' AFTER `long_term_care_company_ratio`',
|
'SELECT 1');
|
PREPARE stmt FROM @ddl;
|
EXECUTE stmt;
|
DEALLOCATE PREPARE stmt;
|
|
SELECT '社保公积金方案:大病医疗/长期护理字段初始化完成' AS result;
|