วิธีรับผลลัพธ์ / ข้อเสนอแนะ / จำนวนแถว / จำนวนแถวที่ได้รับผลกระทบจากแบบสอบถาม MERGE ในตัวอย่างข้อมูลหลาม

ฉันใช้ cur.rowcount กับแบบสอบถามอัปเดตและทำงานได้ดี

เมื่อฉันใช้แบบเดียวกันกับแบบสอบถามแบบผสาน มันจะคืนค่า -1 แม้ว่าแบบสอบถามแบบผสานจะอัปเดตหลายแถวได้สำเร็จ

sql = 'merge blah bla..'
params = 'blah blah'
cursor.execute(sql,params)
print(cursor.rowcount)

ไพธอน 3.4 ออราเคิล 11g


person pratish_v    schedule 27.07.2018    source แหล่งที่มา
comment
ด้วยความอยากรู้อยากเห็น คุณช่วยตรวจสอบด้วย len(cur.fetchall()) ว่ามีค่าส่งคืนหรือไม่   -  person akash karothiya    schedule 27.07.2018
comment
ฟังก์ชั่นการดึงข้อมูล @akashkarothiya ทำงานเฉพาะกับแบบสอบถามที่ส่งคืนแถวข้อมูลแม้ว่าฉันจะพยายาม print(len(cur.fetchall())) cx_Oracle.InterfaceError: ไม่ใช่แบบสอบถามนั้น   -  person pratish_v    schedule 27.07.2018


คำตอบ (1)


จากคำจำกัดความ http://cx-oracle.readthedocs.io/en/latest/cursor.html#Cursor.rowcount cur.rowcount ส่งคืนในกรณี (แทรก อัปเดต และลบคำสั่ง)

person Ambikeshwar Srivastava    schedule 27.07.2018
comment
stackoverflow.com/questions/1401328/ - person Ambikeshwar Srivastava; 27.07.2018
comment
SQL%ROWCOUNT ไม่ทำงานอย่างที่คุณคิด เมื่อใช้กับคำสั่ง MERGE - person eaolson; 29.07.2018