Files
ServiceMethodView/ServiceMethodTables.sql
2026-08-27 11:45:35 +08:00

104 lines
5.5 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================================
-- 服务方法管理数据表建表脚本(Oracle)
-- 数据来源:服务方法管理数据表.docx
-- 注意:原文档中参数表名为 SRCPARAMS,已按最新要求改为 SRCMETHODPARAMS
-- ============================================================
-- 1. 服务模块表:记录被扫描 DLL 中的类(AjaxMethod 方法所在的类)
CREATE TABLE SRCMD (
MACID CHAR(20) NOT NULL, -- 服务部件ID(程序集名称)
MDID FLOAT NOT NULL, -- 服务模块号(类序号)
MDNAME CHAR(40) NULL, -- 服务模块名称(类全名)
CONSTRAINT PK_SRCMD PRIMARY KEY (MACID, MDID)
);
COMMENT ON TABLE SRCMD IS '代码扫描服务模块';
COMMENT ON COLUMN SRCMD.MACID IS '服务部件ID';
COMMENT ON COLUMN SRCMD.MDID IS '服务模块号';
COMMENT ON COLUMN SRCMD.MDNAME IS '服务模块名称';
-- 2. 服务方法表:记录类中标记了 AjaxMethod 的方法
CREATE TABLE SRCMETHOD (
MACID CHAR(20) NOT NULL, -- 服务部件ID
MDID FLOAT NOT NULL, -- 服务模块号
METHODNAME CHAR(32) NOT NULL, -- 服务方法名
MODIFIERS VARCHAR2(80) NULL, -- 方法修饰符(例如 public static)
AUTHREQUIRED CHAR(1) NULL, -- 是否需要登录才能调用(Y/N)
USEHTTPGET CHAR(1) NULL, -- 是否支持 Http GET 调用(Y/N)
METHODDESC VARCHAR2(4000) NULL, -- 服务方法功能描述(<summary/>)
RETTYPE VARCHAR2(80) NULL, -- 返回值类型(包含命名空间)
RETDESC VARCHAR2(1000) NULL, -- 返回值描述(<returns/>)
CONSTRAINT PK_SRCMETHOD PRIMARY KEY (MACID, MDID, METHODNAME)
);
COMMENT ON TABLE SRCMETHOD IS '代码扫描服务方法';
COMMENT ON COLUMN SRCMETHOD.MACID IS '服务部件ID';
COMMENT ON COLUMN SRCMETHOD.MDID IS '服务模块号';
COMMENT ON COLUMN SRCMETHOD.METHODNAME IS '服务方法名';
COMMENT ON COLUMN SRCMETHOD.MODIFIERS IS '方法修饰符';
COMMENT ON COLUMN SRCMETHOD.AUTHREQUIRED IS '是否需要登录才能调用';
COMMENT ON COLUMN SRCMETHOD.USEHTTPGET IS '是否支持Http GET调用';
COMMENT ON COLUMN SRCMETHOD.METHODDESC IS '方法功能描述';
COMMENT ON COLUMN SRCMETHOD.RETTYPE IS '返回值类型';
COMMENT ON COLUMN SRCMETHOD.RETDESC IS '返回值描述';
-- 3. 服务方法参数表:记录每个方法的参数
CREATE TABLE SRCMETHODPARAMS (
MACID CHAR(20) NOT NULL, -- 服务部件ID
MDID FLOAT NOT NULL, -- 服务模块号
METHODNAME CHAR(32) NOT NULL, -- 服务方法名
PARAMXH FLOAT NOT NULL, -- 参数序号
PARAMNAME CHAR(32) NULL, -- 参数名
PARAMTYPE VARCHAR2(80) NULL, -- 参数类型(包含命名空间)
PARAMDESC VARCHAR2(1000) NULL, -- 参数描述(<param/>)
CONSTRAINT PK_SRCMETHODPARAMS PRIMARY KEY (MACID, MDID, METHODNAME, PARAMXH)
);
COMMENT ON TABLE SRCMETHODPARAMS IS '代码扫描服务方法参数';
COMMENT ON COLUMN SRCMETHODPARAMS.MACID IS '服务部件ID';
COMMENT ON COLUMN SRCMETHODPARAMS.MDID IS '服务模块号';
COMMENT ON COLUMN SRCMETHODPARAMS.METHODNAME IS '服务方法名';
COMMENT ON COLUMN SRCMETHODPARAMS.PARAMXH IS '参数序号';
COMMENT ON COLUMN SRCMETHODPARAMS.PARAMNAME IS '参数名';
COMMENT ON COLUMN SRCMETHODPARAMS.PARAMTYPE IS '参数类型';
COMMENT ON COLUMN SRCMETHODPARAMS.PARAMDESC IS '参数描述';
-- 4. 数据类型表:记录自定义类型(参数/返回值中用到的自定义类)
CREATE TABLE SRCTYPE (
TYPEFULLNAME VARCHAR2(80) NOT NULL, -- 类型全称,例如 GThinking.S_XSDD.SOXXData
NAMESPACE VARCHAR2(80) NULL, -- 命名空间
TYPENAME VARCHAR2(80) NULL, -- 显示名称,例如 SOXXData
TYPEDESC VARCHAR2(1000) NULL, -- 类型描述(<summary/>)
CONSTRAINT PK_SRCTYPE PRIMARY KEY (TYPEFULLNAME)
);
COMMENT ON TABLE SRCTYPE IS '代码扫描数据类型';
COMMENT ON COLUMN SRCTYPE.TYPEFULLNAME IS '类型全称';
COMMENT ON COLUMN SRCTYPE.NAMESPACE IS '命名空间';
COMMENT ON COLUMN SRCTYPE.TYPENAME IS '显示名称';
COMMENT ON COLUMN SRCTYPE.TYPEDESC IS '类型描述';
-- 5. 数据类型属性表:记录自定义类型的公共属性/字段
CREATE TABLE SRCPROP (
TYPEFULLNAME VARCHAR2(80) NOT NULL, -- 类型全称
PROPNAME CHAR(32) NOT NULL, -- 属性名称
PROPTYPEFULLNAME VARCHAR2(80) NOT NULL, -- 属性类型全称
NAMESPACE VARCHAR2(80) NULL, -- 属性类型命名空间
PROPTYPE VARCHAR2(80) NULL, -- 属性类型显示名称
PROPDESC VARCHAR2(250) NULL, -- 属性描述(<summary/>)
CONSTRAINT PK_SRCPROP PRIMARY KEY (TYPEFULLNAME, PROPNAME, PROPTYPEFULLNAME)
);
COMMENT ON TABLE SRCPROP IS '代码扫描数据类型属性';
COMMENT ON COLUMN SRCPROP.TYPEFULLNAME IS '类型全称';
COMMENT ON COLUMN SRCPROP.PROPNAME IS '属性名称';
COMMENT ON COLUMN SRCPROP.PROPTYPEFULLNAME IS '属性类型全称';
COMMENT ON COLUMN SRCPROP.NAMESPACE IS '属性类型命名空间';
COMMENT ON COLUMN SRCPROP.PROPTYPE IS '属性类型';
COMMENT ON COLUMN SRCPROP.PROPDESC IS '属性描述';
-- 可选索引:加速按 MACID 查询
CREATE INDEX IDX_SRCMETHOD_MACID ON SRCMETHOD(MACID);
CREATE INDEX IDX_SRCMETHODPARAMS_MACID ON SRCMETHODPARAMS(MACID);
CREATE INDEX IDX_SRCPROP_TYPEFULLNAME ON SRCPROP(TYPEFULLNAME);