Skip to content

Oracle DB function with Ballerina #8635

@daneshk

Description

@daneshk

Area

Area/Library

Description

Ballerina Oracle Connector doesn't support calling Oracle PL/SQL functions. It gives the following error,

Error while executing SQL query: CALL foo( ? ).  ORA-06576: not a valid function or procedure name

The foo is a PL/SQL function and not a procedure. In Oracle, a function returns a value and must be invoked through an assignment or a SELECT statement, as it cannot be executed using the CALL syntax, which is designed only for procedures.

When we invoke a function via the Ballerina CALL function, Oracle expects procedure-style execution and cannot resolve the function in that context. As a result, Oracle throws an error stating that the function or procedure name is not valid, even though the function exists and works correctly in PL/SQL.

There's no way Ballerina could handle an Oracle DB function except in a SELECT statement

Steps to Reproduce

Create an Oracle PL/SQL function that returns an object value and try to invoke it with Ballerina Oracle Connector

Version

latest

Environment Details (with versions)

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions