I am trying to return a variable value in a cursor below but I get the following error. I am not very familiar with PL/SQL so any help would be great. It compiles fine
System.Data.OleDb.OleDbException: ORA-00900: invalid SQL statement
SQL call is as below
Dim sql As String = "{call LOGIN_APPLICATION_INTERFACE.CHECK_USERUNIT(" & unitID & _
", '" & unit & "', {resultset 0, IO_CURSOR})}"
Here is the procedure body...
PROCEDURE CHECK_USERUNIT(UNITID IN INTEGER, UNIT IN VARCHAR2, IO_CURSOR OUT T_CURSOR) IS
UNIT_COUNT INTEGER;
RETURNVAL VARCHAR2 (1);
BEGIN
IF UPPER(UNIT) = 'RISK' THEN
SELECT COUNT(*) INTO UNIT_COUNT
FROM LOGIN_UNIT
WHERE UNIT_DESC = 'Risk Management' and UNIT_ID = UNITID;
IF UNIT_COUNT > 0 THEN
RETURNVAL := 'Y';
ELSE
RETURNVAL := 'N';
END IF;
OPEN IO_CURSOR FOR
RETURNVAL;
ELSIF UPPER(UNIT) = 'FRONTOFFICE' THEN
SELECT COUNT(*) INTO UNIT_COUNT
FROM LOGIN_UNIT
WHERE unit_desc='BZWBK' OR unit_desc='Wholesale Treasury'
OR unit_desc='New York' AND UNIT_ID = UNITID;
IF UNIT_COUNT > 0 THEN
RETURNVAL := 'Y';
ELSE
RETURNVAL := 'N';
END IF;
OPEN IO_CURSOR FOR
RETURNVAL;
END IF;
END;
Thanks in advance