
首先,做一个简单的sql文件(log.sql)。
在这个SQL文件中我们创建了一个表。
接下来,我们来建一个bat批处理文件(log.bat)。
在这个bat文件里面我们调用绝对路径的sql文件,并将执行过程及结果输出到log.txt文件中。
最后,我们运行bat文件,执行多个sql脚本plsql语句。
bat文件调用数据库中的存储过程:
假设数据库中一个存储过程,名称为Produce_log
我们只需要修改独立的sql文件如下即可:
execute Produce_log
exit
使用批处理bat文件执行多个sql语句的方法:
一、示例表格tt结构如图:
二、新建包含多个SQL语句的sql文件,例如test.sql,文件内容
'glkf'为服务的数据库名称
三、新建bat文件,例如test.bat,文件内容
-S 192.168.0.251: 192.168.0.251 数据库服务器IP或名称
-Usa :sa 为登录名
-P45874587 : 45874587 为登录密码
四、把test.bat、test.SQL两个文件放在e:\sql_bat文件夹下
五、在命令提示符中,运行批处理test.bat
六、这样就批量运行了sql文件中的多条SQL语句了。
原理:使用"C:\Program
Files\PostgreSQL\9.0\bin\psql.exe"来建立到PostgreSQL数据库的连接后执行SQL语句。
(建立数据库连接的方法,可以参考C:\Program
Files\PostgreSQL\9.0\scripts\runpsql.bat文件。)
一,执行SQL语句
SET
DB_NAME=TEMP
"C:\Program
Files\PostgreSQL\9.0\bin\psql.exe"
-h
localhost
-U
postgres
-d
%db_NAME%
-p
5432
-w
-c
"SELECT
*
FROM
TABLE1"
二,执行SQL脚本文件
在SQL语句比较复杂时,可以先把SQL语句保存到文件中,然后用psql.exe执行该文件。
@rem
move
to
the
current
file's
directory
%~d0
CD
%~dp0
@rem
excute
a
sql
script
file
to
create
database
"C:\Program
Files\PostgreSQL\9.0\bin\psql.exe"
-h
localhost
-U
postgres
-d
postgres
-p
5432
-w
-f
resource/db/createdb.sql
如果有多个SQL脚本文件(如:a.sql,
b.sql,
c.sql),可以新建一个SQL脚本文件(index.sql)来调用这多个脚本文件,这样在BAT中只需要一个命令语句,而不需要多次复制相似的命令。新建index.sql文件的内容可以是:
\i
resource/db/createdb.sql
\i
resource/db/createsp.sql
\i
resource/db/insertdata.sql
备注:
在CMD窗口中输入
"C:\Program
Files\PostgreSQL\9.0\bin\psql.exe"
-?
可以查找psql的相关命令。
建立了数据库连接后,可以用help命令,或者\?
查找sql命令。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)