oracle sql中根据条件判断是否插入数据

文章目录


  • 根据条件判断是否插入数据 (insert_new_user.sql):
--用户信息
set serveroutput on;
declare
count_var number(10,0) ;
begin
select count(*) into count_var from tb_user t where input_date=to_char(sysdate, 'yyyymmdd') ;
if count_var <= 0 then
	 insert into tb_user
	  (select to_char(sysdate, 'yyyymmdd') input_date, 
			  user_code,
			  user_name
		 from tb_user a
		where a.input_date = '20220807');
		
	  insert into tb_user_detail
	  (select to_char(sysdate, 'yyyymmdd') input_date,
			  user_code,
			  user_desc
		 from tb_user_detail a
		where a.input_date = '20220807');  
	  commit;
else 
  dbms_output.put_line(chr(10)||'==>> :'||count_var);
end if;
end ;
/   

quit;
  • 以上sql 使用批处理脚本调用, 可实现当天有数据不插入,没有数据就从历史数据复制并插入用户信息数据;
  • 是否有数据是上面的sql 内部判断的,批处理只是一个调用作用
::@echo off
cls
cd /d "D:\workspace\bat_script
SET today=%date:~0,10%
CALL:main >> D:\workspace\bat_script\logs\%today%.log

:main
SET right_now=%today%_%time:~0,2%:%time:~3,2%:%time:~6,2%
SET right_now=%right_now: =0%
echo ============================[%right_now%]===========================
sqlplus root/123456@127.0.0.1:1521/orcl @D:\workspace\bat_script\insert_new_user.sql
echo.
echo ============================# end [%right_now%]  end #===========================
echo.
:end
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值