1

このリクエストは、postgresql でステートメント タイムアウトをスローします。

DELETE FROM my_table where my_table.id IN (
   SELECT DISTINCT b.id 
   FROM my_table a
   LEFT JOIN my_table b
   on b.rowA = a.rowA and b.rowB = true
   WHERE a.rowB = false
)

何らかの理由で、postgresql でタイムアウトを増やすことができません。だから、私は私の要求を改善する必要があります。それを改善する方法は?多分INを使わないことで?どうやってするか?

ご協力いただきありがとうございます。


詳細情報を編集してください:

私は JAVA バッチを使用していますが、エラー メッセージは次のとおりです。

原因: org.postgresql.util.PSQLException: エラー: org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1525) でのステートメントのタイムアウトにより、org.postgresql.core.v3.QueryExecutorImpl.processResults でステートメントをキャンセルしています(QueryExecutorImpl.java:1309) org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188) org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452) org.postgresql.jdbc2. AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:308) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

4

2 に答える 2

0

truePL/SQL を使用した場合でも、SQL コンテキストではand false(つまり、ブール リテラル) を使用できません。

于 2013-05-10T22:34:22.093 に答える