Oracle - SQL Plus | Windows |管道 - 不同表上相同命令的不同结果

时间:2014-09-04 11:42:46

标签: sql oracle batch-file sqlplus pipe

我正在尝试通过简单的命令行脚本重置临时表,并使用以下命令:

@echo DELETE FROM A ; | sqlplus schema/pass@DSN

这适用于表A. 对于类似的表B,不执行该语句。命令行登录到数据库并显示SQL>贝壳。它不会对击键做出反应而且什么都不做。我必须退出命令行界面。

我在批处理文件中尝试了不同的命令排序,并直接从命令行执行语句。同样的错误。

1 个答案:

答案 0 :(得分:0)

(问题在评论中回答。见Question with no answers, but issue solved in the comments (or extended in chat)

@Alex Poole写道:

  

您是否在任何其他打开的会话中对该表进行了未提交的删除或更新?例如,在Toad或SQL Developer窗口中?如果您已在某处测试过删除,请回滚该会话并查看批量版本是否神奇地完成。

OP写道:

  

的工作。我应该在发布之前尝试过。现在我感到迟钝了。

     

SOLUTION:表中打开会话中的未提交事务导致错误。一旦提交了事务,脚本就可以正常工作。