㈠ 我想用批处理文件执行一条sql的查询语局并把结果显示在dos窗口该怎么写呢
首先新建.sql 标准isql命令(即你要查询的语句)
例:test.sql 内容如下
use glkf
go
select * from base_bmb
go
然后,新建.bat 批处理文件,
例:test.bat 内容如下
isql -S 192.168.0.251 -Usa -P123 -i test.sql
注:
192.168.0.251 sql服务器地址
sa 登录帐号
123登录密码
运行批处理 test 效果如下
㈡ 如何批处理命令替换sql文件的某字段
如果是在windows系统中
打开该sql文件 ,CTRL+H打开查找替换功能,输入你要查找和所要替换的内容,全部替换即可
如果是在linux/unix系统中
则需要用字符管理命令sed来批量替换
举个栗子:
现在在abc.sql文件中有这样一段内容 linux:this is linux
sed -n s/linux/windows/p abc.sql 这条命令会将该行的第一个linux替换为windows
开头s的作用是只替换该行第一个内容 结尾p的作用是显示结果
执行结果 windows:this is linux
sed -n s/linux/windows/gp abc.sql 这条命令会将该行所有的linux替换为windows
结尾g的作用是行内全面替换
执行结果 windows:this is windows
其中-n选项是只显示sed更改的内容。不加则会替换前的内容和替换后的内容一起显示
sed的其他参数和选项 可以通过‘man sed’命令来了解
㈢ sql中的批处理
SQL批处理:指包含一条或多条T - SQL语句的语句组,这组语句从应用程序一次性地发送到SQL server服务器执行。编批处理程序时,最好能够以分号结束相关语句。虽然这不数据库强制求,但笔还强烈建议如此处理。方面这有利于提批处理程序读性。批处理程序往往完成些比较复杂成套功能,而每条语句则完成项独立功能。此有时个比较复杂些批处理程序其往往有百行容。此时提其读性,最好能够利分号进行语句语句间分隔。二未版本性。其实SQL Server数据库设计时候,开始这方面就关不严。现部分标准程序编器都实现类似强制控制。根据宪梓微软官方提供资料看,以SQL Server数据库版本,这个规则能成个强执行规则,即必须每条语句面利分号进行分隔。此能够跟续SQL Server数据库版本进行,最好从现开始就采分号分隔批处理程序每条语句。
㈣ 如果通过批处理执行sql server语句
楼主你好,首先,我鄙视下楼上的二位。
您的意思是,把查询语句都写在一个文本文件里,然后双击一个bat文件,就自动执行文本文件里的语句对吧,OK,看下面步骤:
1.新增一个批处理文件:如a.bat
2.新增一个SQL脚本文件:如a.sql
3.a.bat中输入:
isql -U 用户名 -P 密码 -i c:\a.sql
同样在bat文件中,输入上面一行,在a.sql输入脚本.
如:
use 数据库名
go
select * from 表名
go
注意:如果您是SQL 2005的,请把bat文件中的isql改成osql即可。
祝您成功!
㈤ 在SQL数据库中,什么叫批处理
批处理就是单个或多个T—SQL语句的集合,由应用程序一次性发送给SQL
Server解析执行处理内的所有语句指令。
㈥ 如何使用sqlcmd在批处理脚本中执行SQL
使用sqlcmd可以在批处理脚本中执行SQL。虽然这个命令的参数很多,但幸运的是,我们不需要全部理解,在这里简要介绍以下几个:x0dx0a{ -U login_id [ -P password ] } | _E trusted connection }] 如果指定了-E就不需要指定用户名密码,当然指定了用户名密码就不用-E了;x0dx0a-S server_name [ \ instance_name ] 数据库服务器,如果不在本机的话必须指定;x0dx0a-d db_name 数据库名字,必须的;x0dx0a[ -i input_file ] [ -o output_file ] sql存在文件里的话用-i,输出到文件用-o;x0dx0a[ -q "cmdline query" ] [ -Q "cmdline query" and exit ] 输入是简单的sql,不用文件,推荐用-Q,如果你执行完sqlcmd还需要执行别的动作的话;x0dx0a[ -W remove trailing spaces ] 删除多余的空格,结果会更紧凑。x0dx0a当我们在真正的脚本中执行sql时,通常需要传入和输出变量。x0dx0a传入变量比较简单,如下所示:x0dx0asqlcmd -d test -Q "select * from dbo.Investment where investor=$(x)" -v x='IBM' -Wx0dx0a这个语句从test数据库的Investment表中选出investor等于x的所有行,注意到变量x被包含在${}中。x0dx0a然后用-v定义了x的值,'IBM'。x0dx0a-W确定输出的结果不包含多余的空格。x0dx0ax的值如果没有在sqlcmd中设定,系统会试图从别的地方去寻找,可能的地方包括,系统环境变量,用户环境变量,以及用在sqlcmd之前用set设定的变量值。x0dx0a如果你的数据里确实包含${},那么你并不希望进行变量的替换,使用-x选项可以禁止变量的替换。x0dx0a有些时候,你还希望能获得sql执行结果并保存到变量中。比如你们的日志系统每天都在产生日志文件,你要执行一个脚本来处理这些日志文件并存到数据库中。在处理之前,你必须读取数据库以确定上次处理到那一天了。你期望这样能解决你的问题:x0dx0asqlcmd -d test -Q "select ${x}=max(date) from dbo.logDates " -Wx0dx0a但这样并不工作。因为sqlcmd并不提供输出变量。x0dx0a不过你可以这样做:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -Wx0dx0a这样你就可以得到一个干干净净的数字,而不会包含列名和其他信息。x0dx0a接着你将上述结果导入到一个文件里:x0dx0asqlcmd -d test -Q "declare @x nvarchar(8);select @x=max(date) from dbo.logDates;print @x; " -W 1.txtx0dx0a现在到了最关键的一步,将文件的内容写入到变量里:x0dx0aset /P myvar=<1.txtx0dx0a/p表明这个变量myvar的值需要用户输入;x0dx0a<1.txt表明从1.txt中读入而不是从其他地方读入。x0dx0a这样,我们就巧妙的把sql执行的结果写入到变量里了。
㈦ 如何将批处理文件在SQL代理作业命令中执行
1、在 SQLServerManagement Studio 中,打开要在其中创建作业的 SQLServer的实例,或者打开包含要向其中添加步骤的作业的实例。
2、展开 SQLServer代理,然后执行下列操作之一:
若要创建新的作业,请右键单击“作业”,再单击“新建”。
若要使用现有作业,请展开“作业”,右键单击该作业,再单击“属性”。
3、在“常规”页上,如果要创建新的作业,请提供作业名称,选择所有者和作业类别,还可以选择提供作业说明。
4、若要使作业可以进行安排,请选择“已启用”。
5、单击“步骤”,再单击“新建”。
6、提供一个步骤名称,然后基于将要运行该作业的dtexec实用工具 (dtexec.exe) 的版本在“类型”列表中选择一种作业步骤类型:
㈧ 批处理文件中如何运行当前目录下的sql
你好!
在run.sql文件开始添加如下代码:
conn
budget/budget@sid
/
然后
sqlplus
/nolog
@D:\BAT\run.sql
仅代表个人观点,不喜勿喷,谢谢。
㈨ 用批处理执行SQL文件的脚本应该怎么写
步骤:(1) 创建一个批处理文件:打开记事本,创建数据库连接信息(例如,server name,username,password,databasename等)以及要执行的*.sql脚本名称。具体语法参考下文"osql 实用工具" 。 将文件的扩展名改为.bat 并保存。
示例1:指定待执行sql 文件的相对路径
osql -S admin\admin -U sa -P sa -d TestDB -i c:\test.sql
pause
示例2: 待执行文件与bat文件在同一个目录,指定相对路径
set localdir=%~dp0
osql -S (local) -U sa -P sa -d Test -i %localdir%\test1.sql
osql -S (local) -U sa -P sa -d Test -i %localdir%\test2.sql
osql -S (local) -U sa -P sa -d Test -i %localdir%\test3.sql
pause
(2) 创建需要执行的sql 脚本, test.sql,test2.sql 和test3.sql, 并放在步骤(1)示例1中指定的位置。本例为c:\ 根目录。如果用示例2,将待执行的sql和bat文件放在同一个目录下。
(3) 双击*.bat 文件并查看运行结果。
㈩ 如何将sql脚本放入批处理(.bat)文件中执行
cmd /c osql -S"127.0.0.1" -U"sa" -P"123" -d"Test" -i"E:\资料\学习\MSSQL\Dos执行文件\test.sql"
-S :数据库IP地址
-U:用户名
-P:密码
-d:数据库名
-i :数据库文件
注意:在没有装有数据库的情况下 , 你的系统中可能没有osql工具的环境 , 此时我们只需要将 OSQL.EXE和osql.rll两个文件拷到c:\window\system32目录下即可