Re: Calling procedure
Date: Tue, 26 Aug 2008 01:43:37 -0700 (PDT)
Message-ID: <88f260ac-bb16-4d21-9ac9-eb3f17788af3@t54g2000hsg.googlegroups.com>
On Aug 25, 9:36 pm, Mtek <m..._at_mtekusa.com> wrote:
> On Aug 25, 3:31 pm, t..._at_panix.com (Dan Blum) wrote:
>
> I did try prefixing the schema name also:
>
> INSERT_PORTFOLIO_ARR (
> p_user_id => p_customer_id,
> p_portfolio_id => p_portfolio_id,
> p_ticker => v_ticker_tab,
> p_action => v_action_tab);
>
> CREATE OR REPLACE PROCEDURE CUSTOMER.INSERT_PORTFOLIO_ARR (
> p_user_id NUMBER,
> p_portfolio_id NUMBER DEFAULT NULL,
> p_line IN_STR_ARR,
> p_ticker IN_STR_ARR,
> p_price IN_STR_ARR,
> p_shares IN_STR_ARR,
> p_date IN_STR_ARR,
> p_comm IN_STR_ARR,
> p_action IN_STR_ARR,
> p_portfolio_name VARCHAR2 DEFAULT NULL,
> p_portfolio_des VARCHAR2 DEFAULT NULL,
> product VARCHAR2 DEFAULT NULL) IS
I think the suggestion was to prefix the schema name when calling the procedure, not when creating it.
btw, calling an invalid procedure will give:
PLS-00905: object [procedurename] is invalid
Calling a procedure passing the wrong number of types of arguments will give:
PLS-00306: wrong number or types of arguments in call to '[procedurename]'
If you get "PLS-00302: component 'INSERT_PORTFOLIO_ARR' must be declared", it means INSERT_PORTFOLIO_ARR does not exist in the specified scope, that is, either it does not exist at all, or else it exists in some other schema and you didn't specify the schema or you don't have privileges to execute it, or both. Received on Tue Aug 26 2008 - 03:43:37 CDT