如何批处理命令替换sql文件的某字段

--东莞
grant select on cncm_dg_inst.TB_CM_GROUP_PAY to cncm_dg_a;
grant select on cncm_dg_inst.TB_CM_GROUP_PAY_MEMBER to cncm_dg_a;

create synonym cncm_dg_a.TB_CM_GROUP_PAY for cncm_dg_inst.TB_CM_GROUP_PAY;
create synonym cncm_dg_a.TB_CM_GROUP_PAY_MEMBER for cncm_dg_inst.TB_CM_GROUP_PAY_MEMBER;

--清远
grant select on cncm_qy_inst.TB_CM_GROUP_PAY to cncm_qy_a;
grant select on cncm_qy_inst.TB_CM_GROUP_PAY_MEMBER to cncm_qy_a;

create synonym cncm_qy_a.TB_CM_GROUP_PAY for cncm_qy_inst.TB_CM_GROUP_PAY;
create synonym cncm_qy_a.TB_CM_GROUP_PAY_MEMBER for crncm_qy_inst.TB_CM_GROUP_PAY_MEMBER;
有一个很大这样的脚本,需要把类似cncm_**_inst替换成crmimg_**_inst(例如:cncm_qy_inst替换成crmimg_qy_inst),如何写个批处理命令处理?

如果是在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’命令来了解追问

是Windows的sql
怎么直接替换啊?21个地市cncm_**_inst中,**代表的21地市是不能变的,只替换cncm,但是还有其他的不能变,像cncm_dg_a又不能替换

总之只是替换_inst结尾的那种字段的前缀

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-23
如果是在windows系统中,打开该sql文件 ,CTRL+H打开查找替换功能,输入你要查找和所要替换的内容,全部替换即可。

如果是在linux/unix系统中,则需要用字符管理命令sed来批量替换。

用批处理执行SQL文件的脚本应该怎么写
步骤:(1) 创建一个批处理文件:打开记事本,创建数据库连接信息(例如,server name,username,password,databasename等)以及要执行的*.sql脚本名称。具体语法参考下文"osql 实用工具" 。 将文件的扩展名改为.bat 并保存。示例1: 指定待执行sql 文件的相对路径 osql -S admin\\admin -U sa -P ...

java 如何批量修改一张表里面多条数据的某个字段的值,需要修改的字段值...
直接数据库操作嘛 全部改一样的就用update dealers set buynum where 。。不一样的话就存储结构吧。用java更新 最好用批处理PreparedStatement stamt.. "update ???"for(){ stamt.addBatch(); } stamt.executeBatch();

sql数据库 通过批处理.bat来处理执行sql文件
你试试在批处理中添加一下path变量:set path=%path%;x:\\xxx\\osql.exe或者使用osql.exe的时候直接使用全路径:"x:\\xxx\\osql.exe" -h -s xxxxxxx

sql数据库 通过批处理.bat来处理执行sql文件
你试试在批处理中添加一下path变量:set path=%path%;x:\\xxx\\osql.exe或者使用osql.exe的时候直接使用全路径:"x:\\xxx\\osql.exe" -h -s xxxxxxx

我有一堆sql文件需要运行 如何批量运行
可以使用批处理,调用 isql 执行 .sql文件。1、 新建test.sql 文件。如图,代码执行删除 表a中id='1'的记录。2、新建批处理test.bat。如图:3、运行批处理test.bat即可执行,test.sql中的SQL语句。

SQL如何批量删除所有表中的所有字段中的某些字符?
库---表---字段---数据 删除数据只能对表操作 要是你删除表的字段能删除掉数据的话 可以直接对字段操作 数据库中有专门存放各个字段的一张表 但好像有数据了不让操作~~

批处理文件中如何运行当前目录下的sql
这是因为对于sqlplus这个命令来说,传入的文件名必须是全路径的,要不然无法识别。所以只需要用%~dp0取得当前批处理所在的路径,然后再加上文件名就可以了。以下是修改完的代码,你试试吧。如果还有问题,再问吧。sqlplus "budget\/budget" @"%~dp0run.sql"echo 数据库清理完毕!pause exit ...

如何使用sqlcmd在批处理脚本中执行SQL?
使用sqlcmd可以在批处理脚本中执行SQL。虽然这个命令的参数很多,但幸运的是,我们不需要全部理解,在这里简要介绍以下几个:{ -U login_id [ -P password ] } | –E trusted connection }] 如果指定了-E就不需要指定用户名密码,当然指定了用户名密码就不用-E了;-S server_name [ \\ instance...

我想用批处理文件执行一条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登录密码 运行批...

如何在批处理中使用命令行参数?
在批处理文件中使用start命令调用exe程序,例如:sql start "My Program" "C:\\Program Files\\MyProgram\\MyProgram.exe"这会启动名为"My Program"的窗口,并执行"C:\\Program Files\\MyProgram\\MyProgram.exe"可执行文件。如果要将参数传递给exe程序,可以在exe程序路径后面加上参数,例如:sql start "...

相似回答