sql >> Database >  >> RDS >> Oracle

PL/SQL opgeslagen procedure uit cursor naar VBA ADODB.RecordSet?

Ik denk dat het deze moet zijn:

With cmd
    .Properties("PLSQLRSet") = TRUE
    .ActiveConnection = conn
    .CommandType = adCmdText
    .CommandText = "{call their_package.get_product(?,?)}"
    .NamedParameters = True
    .Parameters.Append cmd.CreateParameter("rptid", adNumeric, adParamInput, 0, 98)
    .Parameters.Append cmd.CreateParameter("scenario", adVarChar, adParamInput, 4, "decline001")
End With
...

Set rs = cmd.Execute
cmd.Properties("PLSQLRSet") = FALSE

Opmerking: Hoewel hun_package.get_product() drie parameters nodig heeft, hoeven er slechts twee te worden gebonden omdat de parameters van de Ref-cursor automatisch worden gebonden door de provider.

Raadpleeg de Oracle-documentatie voor meer informatie:Oracle Provider voor OLE DB Developer's Guide - "OraOLEDB gebruiken met Visual Basic"




  1. SQL:Unie van polygonen

  2. Combineer OUTPUT insert.id met waarde uit geselecteerde rij

  3. Oracle:krijg gegevens over alle maanden, 0 als er geen gegevens zijn

  4. Row_to_json() gebruiken met geneste joins