Drkcore

25 08 2015 SQLAlchemy Tweet

SQLAlchemyでORA-01795を避ける

OracleではIN句に1000以上の要素を指定するとエラーが出る。

例えばSQLAlchemyだとこんな感じのクエリでidsに1000以上の要素を入れるとダメ

Patent.query.filter(Patent.first_publication_date > patent_since).filter(Patent.tbas.any(ThomsonTba.id.in_(ids))).all()

じゃぁどうするの?と調べたら1000未満の要素に分割してor_でつなげばいいんだよという…

実際これで動いたけど、2000超えたらまたエラーが出て書きなおさなきゃいけないのが見えてるからよろしくないよなぁ。

良い方法はないものか…

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021