Re: ORA-01008 in MERGE statement in 10gR3

From: Dan Blum <tool_at_panix.com>
Date: Sat, 31 May 2008 03:53:28 +0000 (UTC)
Message-ID: <g1qi3n$nr1$1@reader2.panix.com>


samdba <oracleingres_at_yahoo.com> wrote:
> CREATE OR REPLACE
> PROCEDURE TEST_PROC AS
> v_proc varchar2(4000);
> mycol number := 10 ;
> BEGIN
> v_proc := ' merge into test a using test1 b on (a.col1=b.col1) when
> matched then ';
> v_proc := v_proc||' update set col2 = :col2 ';
> v_proc := v_proc||' when not matched then ';
> v_proc := v_proc||' insert (col1, col2) values ( b.col1, :col2) ';
> begin
> execute immediate v_proc using mycol ;

You have two bind variables and are only providing one value. Oracle does not care about the names of the bind variables and so does not know that you want to use the same value for each.

-- 
_______________________________________________________________________
Dan Blum					         tool_at_panix.com	
"I wouldn't have believed it myself if I hadn't just made it up."
Received on Fri May 30 2008 - 22:53:28 CDT

Original text of this message