Re: executing a procedure

From: Martin Haltmayer <Martin.Haltmayer_at_0800-einwahl.de>
Date: 2000/04/02
Message-ID: <38E7A644.9D2399BE_at_0800-einwahl.de>#1/1


If you specify three parameters in your create procedure you must also specify three in your call.

The output parameter is missing. Try something like

declare

        msg varchar2 (2000):= null;
begin

        spAddUser ('Pete', 'Rose', msg);
end;
/

Martin

Louis wrote:
>
> Greeting All, I have created a simple stored procedure that takes arguments
> and
> then writes them to a new record in my user table. Below is the code for
> this procedure:
>
> CREATE OR REPLACE PROCEDURE spAddUser (
> IvcFirstName IN VARCHAR2,
> IvcLastName IN VARCHAR2,
> OvcErrorMessage OUT VARCHAR2
> )
>
> AS
> AppError EXCEPTION;
>
> BEGIN
>
> OvcErrorMessage := 'NO ERROR.';
>
> INSERT INTO VIDEOSHARE.tbUser
> VALUES(
> IvcFirstName,
> IvcLastName
> );
>
> COMMIT;
>
> EXCEPTION
> WHEN OTHERS THEN
> ROLLBACK;
> OvcErrorMessage := 'Error Inserting Record: spAddUser: Pos #1.' ||
> SQLERRM;
> RAISE AppError;
> RETURN;
> END spAddUser;
> /
>
> When I try to execute this procedure:
>
> execute spAddUser ('Pete', 'Rose');
>
> I am prompted with the error message:
>
> ERROR at line 1:
> ORA-06550: line 1, column 7:
> PLS-00306: wrong number or types of arguments in call to 'SPADDUSER'
> ORA-06550: line 1, column 7:
> PL/SQL: Statement ignored
>
> I think it has to do with my output paramater? Do I need to pass something
> to this or
> do I need to default it? Any help would be greatly appreciated.
>
> Louis
Received on Sun Apr 02 2000 - 00:00:00 CEST

Original text of this message