2021-06-23

hana 存储过程 校验表的数据量 满足最小 数据量
create procedure schema名.sp_tb_data_check(
in tb_name varchar(200),
in min_ct integer,
out o1 integer
)
language sqlscript as
/*
@description 根据传入的表名和最小数据量,校验该表数据量是否满足 >最小数据量
@tb_name 入参1为表名
@min_ct 最小数据量
@return 符合条件返回1 不满足返回0
*/
begin
declare v_task_name varchar(100)=‘sp_tb_data_check’;
declare v_check_rule varchar(100)=‘count(1) >’ || min_cnt;
declare v_timestamp varchar(20)=to_char(current_timestamp,'YYYY-MM-DD HH24:MI:SS);
declare v_count integer;
– 异常处理,遇到表不存在或者其他sql异常,默认校验通过
declare EXIT HANDLER FOR SQLEXCEPTION
begin
execute immediate ‘rollback’;
insert into schema.data_check(…)
values (:v_task_name, …,substr(::SQL_ERROR_MESSAGE,1,90));
execute immediate ‘commit’;
o1=1;
end

exec ‘select count(1) from’ || :tn_name into v_count;

if v_count > min_cnt then
insert into data_check(字段) values(值);
commit;
o1 =1
else
insert into…;
commit;
o1 = 0;
end if;

end

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值