// spdump 是**读旧库定义**的常备工具(不是一次性探针)。 // // 为什么它不是"方便一下"而是必须存在: // // AC-15 阶段 2 已经用三次实测证明「照抄 SP」不可行 —— 旧库里混着错注释和坏 SQL: // 1. `sp_user_expense_baddebt` 的 COMMENT 写的是 '用户余额充值'(从 recharge 复制忘改); // 2. `sp_user_expense_school_spend` 的 INSERT 分支是 `INSERT INTO t_user_expense(userid,spend) // VALUES(inputUserid, inputMoney, inputSpendMoney)` —— 2 列配 3 值,且 inputMoney 在该 SP 里不存在; // 3. `sp_user_expense_school_transfer_expenditure` 没有默认备注(与 SP1/2/3/4 都不同)。 // // ⇒ 行为必须从**语句**里读,而不是从 SP 名字 / COMMENT / 表名里猜。 // 这个工具就是"读语句"的入口,让下一个人也能查,而不是只有当时那个人会查。 // // 用法: // // spdump proc ... # SHOW CREATE PROCEDURE(默认库 legacy_oracle) // spdump routines [-db X] [-like a%b] # 列出 routine(名/类型/注释/修改时间) // spdump view # SHOW CREATE VIEW(跨库视图要看它是怎么定义的) // spdump views [-db X] [-like %campus%] # 列出视图 // spdump tables [-db X] [-like %expense%] # 列出表/视图(含 TABLE_TYPE) // spdump columns [-db X] # 列出列定义(类型/是否可空/默认值/注释) // spdump sql "
[-db X] 列出列定义 sql "