批处理文件调用sqlplus执行sql

本文介绍如何创建一个批处理文件,通过用户输入的数据库连接信息和日期,调用sqlplus执行删除操作。批处理文件首先提示用户输入必要的参数,然后根据用户确认执行SQL脚本。脚本在sqlplus中动态生成并执行,利用PKG_DELETE.DEL过程进行数据清理。批处理文件最后展示执行结果,并提供用户交互以关闭窗口。

今天下来一个新任务,要求是给客户做一个维护数据库的批处理文件。说是嫌以前用access2003做的管理工具执行得太慢。这回直接把维护的SQL文做成包然后用sqlplus调用起来应该很快就能执行完。不过用户不太懂数据库,要求做一个批处理文件可以简单的输入一两个条件就能执行。

先写个标题输出,让用户知道这个批处理是干什么用的

@echo ***************************************
@echo 数据库清理工具
@echo ***************************************

 

下面要求要求用户输入数据库的用户连接信息,调查了一下这样写可能比较好。是否还有别的交互方式以后再说。

@echo off

set /p p_user="请输入用户名"

set /p p_password="请输入用户密码"

set /p p_sid="请输入数据库连接串(TNS名)"

set /p p_data="请输入维护时间(YYYY/MM/DD)"

 

判断输入内容(简单写一个例子)

if "%p_data%"=="" (goto :ERR1)

 

执行之前要求用户确认.这个地方本来想用choice,不过我的xp命令窗口不支持,以后调查调查再说。

set /p rtn="维护时间到%p_data%为止,开始执行吗?(Y/N)"

if "%rtn%"=="Y" (goto :EXECUTE_DELETE)
if "%rtn%"=="y" (goto :EXECUTE_DELETE) else (goto :END)

 

接下去调用执行语句,这里用到了传递参数,和指定当前目录的方法。

sqlplus %p_user%/%p_password%@%p_

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值