1 つのテーブルから多数のレコードを取得し、結果セットを反復処理し、返された行ごとに別のテーブルにクエリを実行するスクリプトで Python用のSnowflake コネクタ(Python データベース API v2 仕様のサポートを実装) を使用しています。結果が返される場合と返されない場合があります。
2 番目のクエリで結果が返されない場合、エラーがスローされなくても、最初のクエリで返された結果の繰り返しが停止します。
次のコードは、私が直面している問題を示しています...
cur = cnx.cursor()
foobars = cur.execute("SELECT * FROM foobar")
for foobar in foobars:
foobarId = foobar[0]
# Iteration over foobars stops if no records are returned for the following
foobaz = cur.execute("SELECT * FROM foobaz WHERE foobarId = %s", (foobarId))
if foobaz.rowcount != 0:
# Iterate over foobaz here
例外がスローされた場合、エラーをキャプチャして次の結果に進むことで、このシナリオを処理できます。例外がスローされない場合、このシナリオをどのように処理しますか?