[
https://issues.apache.org/jira/browse/DERBY-2927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13476107#comment-13476107
]
Dag H. Wanvik commented on DERBY-2927:
--------------------------------------
Final note: the JDBC escape syntax: "{? = call <routine>(args..))" does not
necessarily imply that the callee is a procedure. Cf this section of the JDBC
specification 4.1, section 13.4.4 "Stored Procedures and Functions":
"The method DatabaseMetaData.supportsStoredFunctionsUsingCallSyntax
returns true if the database supports invoking user-defined or vendor defined
functions using the escape syntax for stored procedures. Please consult the
documentation for your JDBC driver for additional information"
Derby does return true when calling metadata method , so it appears that's why
Derby supports this syntax, not because we ever intended it to be used for
letting proecures return values.
> Procedures can't return values other than ResultSets
> ----------------------------------------------------
>
> Key: DERBY-2927
> URL: https://issues.apache.org/jira/browse/DERBY-2927
> Project: Derby
> Issue Type: Improvement
> Components: SQL
> Affects Versions: 10.2.2.0
> Environment: Java 1.4.2
> Windows XP SP 2
> Reporter: Jacques Coetzee
> Labels: derby_triage10_10
> Attachments: derby-2927-diag-2.diff, derby-2927-diag-2.stat,
> derby-2927-diag.diff, derby-2927-diag.stat
>
>
> First off, this is not really a bug, it's more of a restriction.
>
> As per the needs of my inhouse framework I need a procedure to be able to
> return a value other than
> a ResultSet (I need a integer). The reason I need to use a procedure; is
> because I'm using INOUT parameters.
>
> When call my procedure, it needs to look like this:
>
> { ? = call myProcedure(?,?,?,?,?,?)}
>
> Where the first ? represents a status-code, ie a failure = -1, and a
> successfull would be 1.
> All the other procedure paramters are INOUT.
>
> If I where to use normal scripting methods in any other DB, for instance DB2
> or Oracle
> then I would be able to do this. It seems that the problem has to do with
> using
> JAVA "Stored" Procedures.
>
> Is it possible to either make procedures return primitive types, OR
> for Functions to be able to use OUT and INOUT paramters?
>
> I've got High Hopes for Derby, but it's issues like this that might just
> sway me to use a different DB.
>
> I appreciate any feedback you can give me.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira