-- ============================================================================ -- S7 FQC 成品检验全链路 · 阶段 1B · 检规"录入类型"识别字段(语义纠偏后) -- -- 【语义纠偏】NonNumericalTypeOK/NG 不是检规规则字段,而是"某一次检验中非数值项目的 -- 实际合格数量/不合格数量",属检验单明细 qms_qcpp_inspbillst,绝不放检规模板 qms_ccjygfzb。 -- → 撤销前一版误加在 qms_ccjygfzb 的 NonNumericalTypeOK/NG(实测两列全 NULL、无业务数据、仅本任务代码消费,安全 DROP)。 -- -- 检规模板真正缺的是"数值型/非数值型"识别依据(情况 C:现有无类型字段 + Upper/Lower 100% 空不能推导)。 -- → 新增 lrlx(录入类型):NUMERIC 数值型(维护上下限, 检验录 j1..j50) / NON_NUMERIC 非数值型(检验只录合格/不合格数)。 -- -- 目标表 qms_qcpp_inspbillst.NonNumericalTypeOK/NG(BIGINT) 保留不动 = 检验单本次实际合格/不合格数量。 -- 幂等:IF-EXISTS/IF-NOT-EXISTS 守卫,可重复执行。不改任何历史数据、不改 jsyq/Upper/Lower 原值。 -- 占位名:提交那刻 rename 为正式 1.0..sql 并登记 csproj Copy。 -- ============================================================================ -- ① 撤销误加的检规结果数量字段(属检验单,不属检规模板) SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='qms_ccjygfzb' AND COLUMN_NAME='NonNumericalTypeOK'); SET @sql := IF(@exist=1, 'ALTER TABLE qms_ccjygfzb DROP COLUMN NonNumericalTypeOK', 'SELECT 1'); PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s; SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='qms_ccjygfzb' AND COLUMN_NAME='NonNumericalTypeNG'); SET @sql := IF(@exist=1, 'ALTER TABLE qms_ccjygfzb DROP COLUMN NonNumericalTypeNG', 'SELECT 1'); PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s; -- ② 新增录入类型识别字段(情况 C:无现成类型字段,需显式标注数值/非数值) SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='qms_ccjygfzb' AND COLUMN_NAME='lrlx'); SET @sql := IF(@exist=0, "ALTER TABLE qms_ccjygfzb ADD COLUMN lrlx VARCHAR(20) NULL COMMENT '录入类型:NUMERIC数值型/NON_NUMERIC非数值型(NULL=未设置)'", 'SELECT 1'); PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;