# `Sp_Create_sControlFaceNameTableFive` (procedure)

> 插入ControlFaceName


- **Type:** PROCEDURE
- **Deterministic:** NO
- **SQL data access:** CONTAINS SQL

## Parameters

| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | `p_sControlFaceName` | `longtext` |
| 2 | IN | `p_iArrangeSrcValue` | `int` |
| 3 | OUT | `p_iOut` | `int` |
| 4 | IN | `p_sControlFacesCharDefalut` | `varchar(255)` |
| 5 | IN | `p_sControlFacesTitleFirst` | `varchar(255)` |

## Body

_Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURE `Sp_Create_sControlFaceNameTableFive`'`._

## Narrative

**Business context:** 生产管理 → 排版/拼版 — case 5 of the 控版面名 (`sControlFaceName`) splitter: the compound shape `A+B-C+D` (印刷合版 with a numeric range, e.g. `1+2-9+10` or `2A+2B-31A+31B`). Body comment documents the rule: "1+2-9+10 拆成 1+2 3+4 5+6 7+8 9+10 合版印刷" — printed in groups of two; 印后 then unrolls each into the individual signatures.

**What it does:** Guards on `INSTR(...,'-')>0 AND INSTR(...,'+')>0 AND INSTR(...,',')<1`. Resolves the title (from `Fn_split_string(..., ':', 1)` or `Fun_GetCh`, overridden by `p_sControlFacesTitleFirst` when set), then parses the four signature components (`p_sControlFaceNameTestOne`…`Four` numeric + `*Char` alpha-suffix), iterates the numeric range generating `p_sControlFacesStar` → `p_sControlFacesEnd` rows into `sControlFaceName_tmp`, and writes the produced row-count to `p_iOut`.

**Invocation:** Called by `Sp_Create_sControlFaceNameTableThree` — itself a dispatch branch of `Sp_Create_sControlFaceNameTable` for the comma-separated shapes.
