psycopg2 を介して次のステートメントを実行します (動作します)。
self.cursor.execute( """INSERT INTO """ + self.config.schema + """.parcel (
id,geometry) VALUES (%s, ST_GeomFromGML(%s))""", (self.id, self.geometry)
しかし今、いくつかのダイナミクスを導入する必要があり、次のようなことを試してみたいと思います:
if multi:
mygeom = "ST_Multi(ST_GeomFromGml(" + self.geometry + "))"
else
mygeom = "ST_GeomFromGml(" + self.geometry + ")"
self.cursor.execute( """INSERT INTO """ + self.config.schema + """.parcel (
id,geometry) VALUES (%s, %s)""", (self.id, mygeom)
もちろん、関数全体をエスケープされた文字列として解析するため、これは大きな失敗になります。データベース関数を解決して実行ステートメントで動的に解析する方法の経験がある人はいますか、それとも不可能ですか?