Note that there are some explanatory texts on larger screens.

plurals
  1. POSQL stored procedure compile error: wrong number or types of arguments in call
    primarykey
    data
    text
    <p>I have created this stored procedure. However I get this error </p> <blockquote> <p>ORA-06550:line 14 column 3: PLS-00306: wrong number or types of arguments in call to 'CHALLENGEUPDATE' when the values passed are CUSTID :='400800500' ; POLICYNAME := 'POLICY'; CHALLENGEID := 'CHALLENGEID1'; PINPOSITIONS := 'PINPOS';</p> </blockquote> <p>The code is:</p> <pre><code>create or replace procedure ChallengeUpdate ( CustID IN SEC_CHALLENGE.CUSTOMERID%TYPE, PolicyName IN SEC_CHALLENGE.POLICY_NAME%TYPE, ChallengeId IN SEC_CHALLENGE.CHALLENGE_ID%TYPE, PinPositions IN SEC_CHALLENGE.PINPOSITIONS%TYPE, o_result OUT INTEGER, o_code OUT INTEGER, o_c OUT INTEGER ) as c integer; begin select count(*) into c from SEC_CHALLENGE xyz where xyz.CUSTOMERID=CustID and xyz.POLICY_NAME=PolicyName; if c = 0 then INSERT INTO SEC_CHALLENGE(CUSTOMERID,CHALLENGE_ID,PINPOSITIONS,POLICY_NAME) VALUES (CustID,ChallengeId, PinPositions, PolicyName); else UPDATE RBSSEC_CHALLENGE SET CHALLENGE_ID=ChallengeId, PINPOSITIONS=PinPositions WHERE CUSTOMERID=CustID and POLICY_NAME = PolicyName; end if; commit; o_result:=0; o_c:=c; exception when others then o_result:=-1; o_c:=c; rollback; o_code :=SQLCODE; end ChallengeUpdate; </code></pre> <p>The SEC_CHALLENGE table is this </p> <pre><code>CREATE TABLE "MUJEEB"."RBSSEC_CHALLENGE" ( "CUSTOMERID" VARCHAR2(9 BYTE) NOT NULL ENABLE, "CHALLENGE_ID" VARCHAR2(50 BYTE), "PINPOSITIONS" VARCHAR2(20 BYTE) NOT NULL ENABLE, "POLICY_NAME" VARCHAR2(50 BYTE) NOT NULL ENABLE, CONSTRAINT "RBSSEC_CHALLENGE1_PK" PRIMARY KEY ("CHALLENGE_ID") ) </code></pre> <p>here is how I am running it:</p> <pre><code>DECLARE CUSTID VARCHAR2(9); POLICYNAME VARCHAR2(50); CHALLENGEID VARCHAR2(50); PINPOSITIONS VARCHAR2(20); O_RESULT NUMBER; O_CODE NUMBER; BEGIN CUSTID :='400800500' ; POLICYNAME := 'POLICY'; CHALLENGEID := 'CHALLENGEID1'; PINPOSITIONS := 'PINPOS'; CHALLENGEUPDATE( CUSTID =&gt; CUSTID, POLICYNAME =&gt; POLICYNAME, CHALLENGEID =&gt; CHALLENGEID, PINPOSITIONS =&gt; PINPOSITIONS, O_RESULT =&gt; O_RESULT, O_CODE =&gt; O_CODE ); DBMS_OUTPUT.PUT_LINE('O_RESULT = ' || O_RESULT); DBMS_OUTPUT.PUT_LINE('O_CODE = ' || O_CODE); END; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload