【发布时间】:2015-06-10 21:15:09
【问题描述】:
我正在尝试从批处理文件中运行 postgres 查询。但是,到目前为止,我一直无法检测到命令何时失败。以下是我迄今为止尝试过的:
@FOR /F %%A IN ('PSQL -U userName -d dbName -t -c "SELECT * FROM nonExistantTable" 2^>^&1') DO @(
ECHO !ERRORLEVEL!
)
我也尝试了以下方法:
1) 在sql命令前添加“CALL”(CALL PSQL -U ...)
2)在sql命令中添加“-v ON_ERROR_STOP=1”,无论有无“CALL”命令(PSQL -U ... -v ON_ERROR_STOP=1)
但是,ERRORLEVEL 的值始终为零。有谁知道如何使用批处理检测对 PSQL 的调用中的错误?具体来说,我得到的错误是该表不存在。谢谢。
【问题讨论】:
标签: batch-file for-loop postgresql-9.3 psql