xykj-plus/xykj-admin-plus/script/sql/update/oracle/update_invoice_table.sql
2026-06-13 13:48:51 +08:00

65 lines
1.9 KiB
SQL

-- ----------------------------
-- 发票表结构更新脚本 (Oracle)
-- 说明:此脚本用于为发票表添加发票号码、结算关联和税率字段
-- 请根据实际情况谨慎执行,建议先备份数据
-- ----------------------------
-- ----------------------------
-- 第一步:备份原有数据(可选,建议执行)
-- ----------------------------
-- create table biz_invoice_backup as select * from biz_invoice;
-- ----------------------------
-- 第二步:添加发票号码字段
-- ----------------------------
declare
v_column_exists number;
begin
select count(*) into v_column_exists
from user_tab_columns
where table_name = 'BIZ_INVOICE'
and column_name = 'INVOICE_NO';
if v_column_exists = 0 then
execute immediate 'alter table BIZ_INVOICE add INVOICE_NO varchar2(100)';
execute immediate 'comment on column BIZ_INVOICE.INVOICE_NO is ''发票号码''';
end if;
end;
/
-- ----------------------------
-- 第三步:添加结算关联字段
-- ----------------------------
declare
v_column_exists number;
begin
select count(*) into v_column_exists
from user_tab_columns
where table_name = 'BIZ_INVOICE'
and column_name = 'SETTLEMENT_ID';
if v_column_exists = 0 then
execute immediate 'alter table BIZ_INVOICE add SETTLEMENT_ID number(20)';
execute immediate 'comment on column BIZ_INVOICE.SETTLEMENT_ID is ''结算ID''';
end if;
end;
/
-- ----------------------------
-- 第四步:添加税率字段
-- ----------------------------
declare
v_column_exists number;
begin
select count(*) into v_column_exists
from user_tab_columns
where table_name = 'BIZ_INVOICE'
and column_name = 'TAX_RATE';
if v_column_exists = 0 then
execute immediate 'alter table BIZ_INVOICE add TAX_RATE varchar2(10)';
execute immediate 'comment on column BIZ_INVOICE.TAX_RATE is ''税率(1:6%+2% 2:10%+2% 3:13%+2%)''';
end if;
end;
/