Ket*_*etu 8 sql postgresql batch-file command-prompt
我需要从批处理文件中执行SQL.我正在执行以下连接到Postgres并从表中选择数据
C:/pgsql/bin/psql -h %DB_HOST% -p 5432 -U %DB_USER% -d %DB_NAME%
select * from test;
Run Code Online (Sandbox Code Playgroud)
我能够连接到数据库,但是我收到了错误
'select'不被识别为内部或外部命令,可操作程序或批处理文件.
有人遇到过这样的问题吗?
这是我正在尝试的查询之一,类似于shell脚本的工作,(如果有任何问题,请忽略查询中的语法错误)
copy testdata (col1,col2,col3) from '%filepath%/%csv_file%' with csv;
Run Code Online (Sandbox Code Playgroud)
你可以将它管道输入psql
(
echo select * from test;
) | C:/pgsql/bin/psql -h %DB_HOST% -p 5432 -U %DB_USER% -d %DB_NAME%
Run Code Online (Sandbox Code Playgroud)
当右括号是SQL查询的一部分时,它们必须使用三个插入符进行转义.
(
echo insert into testconfig(testid,scenarioid,testname ^^^) values( 1,1,'asdf'^^^);
) | psql -h %DB_HOST% -p 5432 -U %DB_USER% -d %DB_NAME%
Run Code Online (Sandbox Code Playgroud)