sql >> データベース >  >> RDS >> Oracle

refcursorを使用してVBAでOracleストアドプロシージャを呼び出す

    誤って解決策を見つけました。ref_cursorパラメーターを定義しないと、機能します。

    cmd.CommandText = "testproc"
    cmd.ActiveConnection = cn
    cmd.CommandType = adCmdStoredProc
    Set param1 = cmd.CreateParameter("articlenr", adInteger, adParamInput, , 47)
    Set param2 = cmd.CreateParameter("storenr", adInteger, adParamInput, , 281)
    Set param3 = cmd.CreateParameter("cweek", adVarChar, adParamInput, 10, "201705")
    
    'Next line not needed
    'Set param4 = cmd.CreateParameter("prc", adVariant, adParamOutput, , Null)
    
    cmd.Parameters.Append param1
    cmd.Parameters.Append param2
    cmd.Parameters.Append param3
    
    'Next line not needed
    'cmd.Parameters.Append param4
    
    Set rs = cmd.Execute
    

    これは機能します。どうやらref_cursor仕様は不要であり、デフォルトで発生します:)



    1. SQL Serverが2つの整数を除算した結果を四捨五入するのはなぜですか?

    2. $ mysqli-> stmt_init()を呼び出させないプリペアドステートメント

    3. MySQLでJSON列をクエリする方法

    4. Laravelの雄弁なクエリビルダー-関係に関するグループとの合計