如何实现批处理文件传参数给SQLPLUS
2016-03-28 17:02
344 查看
原文地址:http://www.cnblogs.com/HondaHsu/archive/2012/11/23/2784094.html
第一:批处理文件drop_table.bat
说明:
批处理中 %~dp0 表示批处理文件所处的当前目录
'%p_owner%' '%p_path%' 是批处理传给SQLPLUS的参数
@echo *****************************************************
@echo 开发环境数据库无效表清理
@echo 首先,连接数据库lcam_develop/lcam4ddl@lacm5130
@echo 接着会生成drop_table_sql.sql
@echo 然后执行drop_table_sql.sql
@echo *****************************************************
@echo off
set /p p_user="请输入用户名lcam_develop:"
set /p p_password="请输入用户密码lcam4ddl:"
set /p p_sid="请输入数据库连接串(TNS名)lacm5130:"
set /p p_owner="请输入数据库查询条件LCAM_DEVELOP:"
set /p p_path="请输入文件存放盘符(如输入E):"
sqlplus %p_user%/%p_password%@%p_sid% @"%~dp0generate_drop_table_sql.sql" '%p_owner%' '%p_path%'
sqlplus %p_user%/%p_password%@%p_sid% @"%p_path%:\drop_table.sql"set echo off
第二:批处理中调用的脚本generate_drop_table_sql.sql
说明:
'&1' 对应批处理中的 '%p_owner%'
[b]'&2' 对应批处理中的 '%p_path%'[/b]
set feedback off
set newpage none
set pagesize 5000
set linesize 500
set verify off
set heading off
define owner='&1'
define path='&2'
SPOOL &path:\drop_table.sql
select 'DROP TABLE ' || a.table_name ||';' FROM dba_tables a
where a.owner=upper('&owner') AND a.table_name like 'ZK%';
SPOOL OFF
exit;
第一:批处理文件drop_table.bat
说明:
批处理中 %~dp0 表示批处理文件所处的当前目录
'%p_owner%' '%p_path%' 是批处理传给SQLPLUS的参数
@echo *****************************************************
@echo 开发环境数据库无效表清理
@echo 首先,连接数据库lcam_develop/lcam4ddl@lacm5130
@echo 接着会生成drop_table_sql.sql
@echo 然后执行drop_table_sql.sql
@echo *****************************************************
@echo off
set /p p_user="请输入用户名lcam_develop:"
set /p p_password="请输入用户密码lcam4ddl:"
set /p p_sid="请输入数据库连接串(TNS名)lacm5130:"
set /p p_owner="请输入数据库查询条件LCAM_DEVELOP:"
set /p p_path="请输入文件存放盘符(如输入E):"
sqlplus %p_user%/%p_password%@%p_sid% @"%~dp0generate_drop_table_sql.sql" '%p_owner%' '%p_path%'
sqlplus %p_user%/%p_password%@%p_sid% @"%p_path%:\drop_table.sql"set echo off
第二:批处理中调用的脚本generate_drop_table_sql.sql
说明:
'&1' 对应批处理中的 '%p_owner%'
[b]'&2' 对应批处理中的 '%p_path%'[/b]
set feedback off
set newpage none
set pagesize 5000
set linesize 500
set verify off
set heading off
define owner='&1'
define path='&2'
SPOOL &path:\drop_table.sql
select 'DROP TABLE ' || a.table_name ||';' FROM dba_tables a
where a.owner=upper('&owner') AND a.table_name like 'ZK%';
SPOOL OFF
exit;
相关文章推荐
- mysql配置的讲解 mysql的root密码重置 mysql的登录
- C++客户端对mongodb的调用语法
- oracle backspace 出现^H
- MySql Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 解决方法
- 安装MySQL在最后的start service停住了解决方法
- Mysql 修改密码
- Linux安装Memcached
- 用beeline连接SparkSQL
- 转:通过API获取和创建 Oracle GL Account Code Combination ID’s (CCID’s)的几种方法汇总
- Sqlite全面学习(二)
- MySQL备份学习
- redis主从配置
- SQL SERVER 2000数据库置疑处理
- 表的复制——sql语句
- MongoDB基本命令
- Sqlite全面学习(一)
- Mysql支持的数据类型(总结)
- Sql查询死锁的方法
- 安装配置PLSQL Developer
- Redis3.0安装 for win10