如何写.bat文件,连接PostgreSQl,执行SQL文件.
2个回答
展开全部
原理:
使用"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命令。
使用"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命令。
参考资料: http://hi.baidu.com/cjm871023/item/526aa40cbb53cc01cc34eab0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询