croe-dm8.sql 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. CREATE TABLE core_demo01
  2. (
  3. id bigint NOT NULL PRIMARY KEY IDENTITY,
  4. name varchar(64) DEFAULT '' NULL,
  5. age int DEFAULT 0 NULL,
  6. creator varchar(64) DEFAULT '' NULL,
  7. create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
  8. updater varchar(64) DEFAULT '' NULL,
  9. update_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
  10. deleted bit DEFAULT '0' NOT NULL,
  11. tenant_id bigint DEFAULT 0 NOT NULL
  12. );
  13. CREATE INDEX idx_core_demo01_01 ON core_demo01 (create_time);
  14. COMMENT ON COLUMN core_demo01.id IS '主键';
  15. COMMENT ON COLUMN core_demo01.name IS '名称';
  16. COMMENT ON COLUMN core_demo01.age IS '年龄';
  17. COMMENT ON COLUMN core_demo01.creator IS '创建者';
  18. COMMENT ON COLUMN core_demo01.create_time IS '创建时间';
  19. COMMENT ON COLUMN core_demo01.updater IS '更新者';
  20. COMMENT ON COLUMN core_demo01.update_time IS '更新时间';
  21. COMMENT ON COLUMN core_demo01.deleted IS '是否删除';
  22. COMMENT ON COLUMN core_demo01.tenant_id IS '租户编号';
  23. COMMENT ON TABLE core_demo01 IS 'demo 代码自动生成';
  24. -- 部门表修改
  25. ALTER TABLE system_dept ADD dept_type tinyint DEFAULT 0 NULL;
  26. ALTER TABLE system_dept ADD warehouse_type tinyint DEFAULT 0 NULL;
  27. ALTER TABLE system_dept ADD longitude varchar(30) NULL;
  28. ALTER TABLE system_dept ADD latitude varchar(30) NULL;
  29. ALTER TABLE system_dept ADD dept_abbr_name varchar(30) NULL;
  30. ALTER TABLE system_dept ADD dept_img varchar(30) NULL;
  31. ALTER TABLE system_dept ADD dept_province varchar(30) NULL;
  32. ALTER TABLE system_dept ADD dept_city varchar(30) NULL;
  33. ALTER TABLE system_dept ADD dept_area varchar(30) NULL;
  34. ALTER TABLE system_dept ADD dept_merge_addr varchar(30) NULL;
  35. ALTER TABLE system_dept ADD dept_address varchar(30) NULL;
  36. COMMENT ON COLUMN system_dept.dept_type IS '部门类型:1级国家局 2级 垂管局 3级仓库';
  37. COMMENT ON COLUMN system_dept.warehouse_type IS '仓库类型:参考字典项 warehouse_type';
  38. COMMENT ON COLUMN system_dept.longitude IS '精度';
  39. COMMENT ON COLUMN system_dept.latitude IS ' 纬度';
  40. COMMENT ON COLUMN system_dept.dept_abbr_name IS '名称缩写';
  41. COMMENT ON COLUMN system_dept.dept_img IS '图片';
  42. COMMENT ON COLUMN system_dept.dept_province IS '省(编码)';
  43. COMMENT ON COLUMN system_dept.dept_city IS '市';
  44. COMMENT ON COLUMN system_dept.dept_area IS '区县';
  45. COMMENT ON COLUMN system_dept.dept_merge_addr IS '省市区';
  46. COMMENT ON COLUMN system_dept.dept_area IS '地址';
  47. -- 项目信息表
  48. CREATE TABLE core_project_info
  49. (
  50. id bigint NOT NULL PRIMARY KEY IDENTITY,
  51. project_name varchar(128) DEFAULT '' NULL,
  52. project_type tinyint DEFAULT 0 NULL,
  53. reservoir_id bigint DEFAULT 0 NULL,
  54. manage_dept_id bigint DEFAULT 0 NULL,
  55. review_status tinyint DEFAULT 0 NULL,
  56. confidentiality_level tinyint DEFAULT 0 NULL,
  57. confidentiality_period datetime DEFAULT NULL NULL,
  58. construction_nature varchar(64) DEFAULT '' NULL,
  59. construction_address varchar(256) DEFAULT '' NULL,
  60. approved_investment decimal(18, 2) DEFAULT 0.00 NULL,
  61. approved_content varchar(512) DEFAULT '' NULL,
  62. planned_start_date datetime DEFAULT NULL NULL,
  63. planned_end_date datetime DEFAULT NULL NULL,
  64. completion_date datetime DEFAULT NULL NULL,
  65. legal_entity varchar(128) DEFAULT '' NULL,
  66. project_leader_name varchar(64) DEFAULT '' NULL,
  67. project_leader_phone varchar(32) DEFAULT '' NULL,
  68. creator varchar(64) DEFAULT '' NULL,
  69. create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
  70. updater varchar(64) DEFAULT '' NULL,
  71. update_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
  72. deleted bit DEFAULT '0' NOT NULL
  73. );
  74. CREATE INDEX idx_core_project_info_01 ON core_project_info (create_time);
  75. COMMENT ON COLUMN core_project_info.id IS '主键';
  76. COMMENT ON COLUMN core_project_info.project_name IS '项目名称';
  77. COMMENT ON COLUMN core_project_info.project_type IS '项目类别';
  78. COMMENT ON COLUMN core_project_info.reservoir_id IS '库区ID';
  79. COMMENT ON COLUMN core_project_info.manage_dept_id IS '垂管局ID';
  80. COMMENT ON COLUMN core_project_info.review_status IS '审核状态';
  81. COMMENT ON COLUMN core_project_info.confidentiality_level IS '保密等级';
  82. COMMENT ON COLUMN core_project_info.confidentiality_period IS '保密期限';
  83. COMMENT ON COLUMN core_project_info.construction_nature IS '建设性质';
  84. COMMENT ON COLUMN core_project_info.construction_address IS '建设详细地址';
  85. COMMENT ON COLUMN core_project_info.approved_investment IS '批复投资概算(万元)';
  86. COMMENT ON COLUMN core_project_info.approved_content IS '批复建设内容';
  87. COMMENT ON COLUMN core_project_info.planned_start_date IS '计划开工时间';
  88. COMMENT ON COLUMN core_project_info.planned_end_date IS '计划结束时间';
  89. COMMENT ON COLUMN core_project_info.completion_date IS '竣工验收时间';
  90. COMMENT ON COLUMN core_project_info.legal_entity IS '项目法人单位';
  91. COMMENT ON COLUMN core_project_info.project_leader_name IS '项目负责人姓名';
  92. COMMENT ON COLUMN core_project_info.project_leader_phone IS '项目负责人电话';
  93. COMMENT ON COLUMN core_project_info.creator IS '创建者';
  94. COMMENT ON COLUMN core_project_info.create_time IS '创建时间';
  95. COMMENT ON COLUMN core_project_info.updater IS '更新者';
  96. COMMENT ON COLUMN core_project_info.update_time IS '更新时间';
  97. COMMENT ON COLUMN core_project_info.deleted IS '是否删除';
  98. COMMENT ON TABLE core_project_info IS '项目信息表';
  99. -- 行政区划(三级)
  100. CREATE TABLE system_area_level_3
  101. (
  102. id varchar(12) DEFAULT '' NOT NULL,
  103. pid varchar(12) DEFAULT '' NOT NULL,
  104. deep tinyint DEFAULT 0 NOT NULL,
  105. area_name varchar(100) DEFAULT '' NOT NULL,
  106. pinyin_prefix varchar(10) DEFAULT '' NULL,
  107. pinyin varchar(100) DEFAULT '' NULL,
  108. ext_id varchar(12) DEFAULT '' NOT NULL,
  109. ext_name varchar(510) DEFAULT '' NOT NULL,
  110. creator varchar(64) DEFAULT '' NULL,
  111. create_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
  112. updater varchar(64) DEFAULT '' NULL,
  113. update_time datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
  114. deleted bit DEFAULT '0' NOT NULL
  115. );
  116. CREATE INDEX idx_system_area_01 ON system_area_level_3 (pinyin_prefix);
  117. CREATE INDEX idx_system_area_02 ON system_area_level_3 (ext_id);
  118. CREATE INDEX idx_system_area_03 ON system_area_level_3 (ext_name);
  119. COMMENT ON COLUMN system_area_level_3.id IS '地区 id';
  120. COMMENT ON COLUMN system_area_level_3.pid IS '上级地区 id';
  121. COMMENT ON COLUMN system_area_level_3.deep IS '地区级别:0 省 1 市 2 区县';
  122. COMMENT ON COLUMN system_area_level_3.area_name IS '简称';
  123. COMMENT ON COLUMN system_area_level_3.pinyin_prefix IS '拼音首字母';
  124. COMMENT ON COLUMN system_area_level_3.pinyin IS '拼音全拼';
  125. COMMENT ON COLUMN system_area_level_3.ext_id IS '标准地区 id';
  126. COMMENT ON COLUMN system_area_level_3.ext_name IS '标准地区名称';
  127. COMMENT ON TABLE system_area_level_3 IS '行政区划(三级)';
  128. -- 创建存储过程:将字段中以逗号分隔的单词首字母存到另一个字段 bei jing -> bj
  129. CREATE OR REPLACE PROCEDURE get_initial_letters IS
  130. CURSOR cur IS SELECT id, pinyin FROM system_area_level_3;
  131. v_pinyin VARCHAR2(255);
  132. v_initials VARCHAR2(255);
  133. v_word VARCHAR2(255);
  134. v_pos PLS_INTEGER;
  135. BEGIN
  136. FOR rec IN cur LOOP
  137. v_pinyin := rec.pinyin;
  138. v_initials := '';
  139. v_pos := 1;
  140. LOOP
  141. -- 获取每个单词的首字母
  142. v_word := SUBSTR(v_pinyin, v_pos, INSTR(v_pinyin || ' ', ' ', v_pos) - v_pos);
  143. IF v_word IS NULL THEN EXIT; END IF;
  144. v_initials := v_initials || SUBSTR(v_word, 1, 1);
  145. v_pos := INSTR(v_pinyin, ' ', v_pos) + 1;
  146. IF v_pos = 1 THEN EXIT; END IF; -- 没有更多的单词
  147. END LOOP;
  148. -- 更新表格中的首字母字段(假设有一个字段用来存储首字母)
  149. UPDATE system_area_level_3 SET pinyin_prefix = UPPER(v_initials) WHERE id = rec.id;
  150. END LOOP;
  151. END;
  152. /
  153. -- 执行存储过程
  154. BEGIN
  155. get_initial_letters;
  156. END;