psql 클라이언트를 통해이 SQL 쿼리를 실행하면 수초 (~ 90 초, 거대한 테이블 이후로 정상입니다)로 실행되고 리턴됩니다. 내 라인이 성공적으로 삽입되었는지 확인할 수 있습니다.cursort.execute/cursor.callproc는 아무런 에러도 반환하지 않지만 아무 것도 실행되지 않습니다.
SELECT merge_data('898989', '111111111', '10000')
UPDATE 또는 INSERT를 실행하는 저장 프로 시저이므로 프로 시저가 오류없이 실행되고 테이블에 항목을 가져옵니다.
python 프로그램에서 동일한 작업을 시도하면 쿼리는 2 초가 걸리고 오류가 반환되지 않고 테이블에 아무 것도 표시되지 않습니다. 당신은 실제로 SQL을 실행하기 위해 cursor.execute()
를 호출하지 않는
conn = psycopg2.connect("...")
cursor = conn.cursor()
try:
cursor.callproc("merge_data", ['898989', '111111111', '10000'])
except:
print "ERROR !"
cursor.close()
cursor.callproc을 사용하여 전역 범위를 설정() 문장을 실행하고있다 심지어 cursor.execute ("SELECT merge_date ....") 같은 효과가 있습니다 –