bat脚本执行带参数的sql指令(sql server)
2017-06-22 15:01
288 查看
代码如下:
代码实现功能:
输入天数d,删除表table中d天前的数据。
备注:
这里由于需要传入参数给sql,所以只能通过-Q直接执行sql语句(oracle可以实现sqlplus user/pass@服务名 @C:\test.sql param);如果没有参数的话可以将需要执行的sql语句单独放到一个sql文件中,然后通过-i执行sql文件中的语句
这里需要补充下osql参数:
[-U 登录 ID]
[-P 密码]
[-S 服务器]
[-H 主机名]
[-E 可信连接]
[-d 使用数据库名称]
[-l 登录超时值]
[-t 查询超时值]
[-h 标题]
[-s 列分隔符]
[-w 列宽]
[-a 数据包大小]
[-e 回显输入]
[-I 允许带引号的标识符]
[-L 列出服务器]
[-c 命令结束]
[-D ODBC DSN 名称]
[-Q “命令行查询” 并退出]
[-n 删除编号方式]
[-m 错误级别]
[-r 发送到 stderr 的消息]
[-V 严重级别]
[-i 输入文件]
[-o 输出文件]
[-p 打印统计信息]
[-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-? 显示语法摘要]
@echo off set /p datestr=请输入需要保留日志的天数: osql -S"127.0.0.1" -U"sa" -P"Passw0rd" -Q"delete from table where columnDate < (SELECT convert(varchar, dateadd (DD,-%datestr%+1,getdate()), 112));" -e exit 0
代码实现功能:
输入天数d,删除表table中d天前的数据。
备注:
这里由于需要传入参数给sql,所以只能通过-Q直接执行sql语句(oracle可以实现sqlplus user/pass@服务名 @C:\test.sql param);如果没有参数的话可以将需要执行的sql语句单独放到一个sql文件中,然后通过-i执行sql文件中的语句
这里需要补充下osql参数:
[-U 登录 ID]
[-P 密码]
[-S 服务器]
[-H 主机名]
[-E 可信连接]
[-d 使用数据库名称]
[-l 登录超时值]
[-t 查询超时值]
[-h 标题]
[-s 列分隔符]
[-w 列宽]
[-a 数据包大小]
[-e 回显输入]
[-I 允许带引号的标识符]
[-L 列出服务器]
[-c 命令结束]
[-D ODBC DSN 名称]
[-Q “命令行查询” 并退出]
[-n 删除编号方式]
[-m 错误级别]
[-r 发送到 stderr 的消息]
[-V 严重级别]
[-i 输入文件]
[-o 输出文件]
[-p 打印统计信息]
[-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-? 显示语法摘要]
相关文章推荐
- SQL Server中使用外部命令执行sql脚本
- SQL Server中使用外部命令执行sql脚本
- 使用bat方式执行sql脚本
- SQL SERVER 执行大于80M的SQL 脚本
- shell脚本操作mysql数据库,使用mysql的-e参数可以执行各种sql的(创建,删除,增,删,改、查)等各种操作
- sql server 存储过程中执行带输出参数的动态 sql
- 在bat中执行sql命令(for sql server)
- sql server执行动态拼接sql(带传参数)和去掉小数点后0的函数
- 使用bat方式执行sql脚本
- 怎么用批处理*.bat 执行文件目录下面的SQL语句脚本(批量的)。。。@echo off是什么意思?
- Delphi通过SQL Server 命令行工具osql执行SQL脚本备份数据库
- SQL server如何定时执行SQl脚本(函数)
- 脚本执行SQL语句 sql server
- SQL*Plus 执行脚本时传递参数(@script_name var1,var2)
- 将表中的数据生成SQL脚本,在查询分析器中执行这些脚本后自动将数据导入到SQL Server中
- 如何在C#里面执行.SQL脚本(SQL SERVER)(转)
- SQL Server 开发之 复制表数据的SQL脚本生成器(带参数导出)
- <转载>SQL Server 数据库 执行命令(方法 2:带参数的 SQL 命令)
- Oracle数据库案例整理-执行Oracle脚本失败或异常-SQL命令中字符串参数使用双引号导致更新数据库表信息失败
- Java掉执行sql脚本的.bat文件