Python でのストアード・プロシージャーの呼び出し

Python アプリケーションからストアード・プロシージャーを呼び出すには、ibm_db.callproc 関数を呼び出します。呼び出されるプロシージャーには、入力パラメーター (IN)、出力パラメーター (OUT)、および入出力パラメーター (INOUT) を含めることができます。

始める前に

ibm_db API の接続関数の 1 つを呼び出して、接続リソースを取得します

手順

リストされている引数を渡して、ibm_db.callproc 関数を呼び出します。
connection
ibm_db.connect 関数または ibm_db.pconnect 関数から戻される有効なデータベース接続リソース。
procname
有効なストアード・プロシージャー名。
parameters
ストアード・プロシージャーで宣言されているパラメーターと一致するパラメーターのタプル。

ibm_db.callproc 関数でストアード・プロシージャーを呼び出すには、次のようにします。


import ibm_db
        
conn = ibm_db.connect("sample", "username", "password")
if conn:
  name = "Peaches"
  second_name = "Rickety Ride"
  weight = 0

  print "Values of bound parameters _before_ CALL:"
  print "  1: %s 2: %s 3: %d¥n" % (name, second_name, weight)

  stmt, name, second_name, weight = ibm_db.callproc(conn, 'match_animal', (name, second_name, weight))
  if stmt is not None:
    print "Values of bound parameters _after_ CALL:"
    print "  1: %s 2: %s 3: %d¥n" % (name, second_name, weight)

次のタスク

プロシージャー呼び出しが 1 つ以上の結果セットを戻す場合、ステートメント・リソースからの行のフェッチを開始できます。