Dear Friends,


I have a table as XMLTABLE(rid VARCHAR2(10), record XMLTYPE).

I am creating a package with procedure. The procedure follows:

SQL> get pkg1

1 CREATE OR REPLACE PACKAGE pkg as
2 PROCEDURE B_INSERT (TABLENAME IN VARCHAR2, REC IN VARCHAR2, XMLREC IN BLOB,
3 INSERTFLAG IN OUT INT);
4 END pkg;
5 CREATE OR REPLACE PACKAGE BODY pkg AS
6 PROCEDURE B_INSERT (TABLENAME IN VARCHAR2, REC IN VARCHAR2, XMLREC IN BLOB,
7 INSERTFLAG IN OUT INT) IS
8 BEGIN
9 EXECUTE IMMEDIATE 'INSERT INTO '||TABLENAME||
10 'VALUES (:bREC, :bXMLREC)
11 USING REC,XMLREC;
12 INSERTFLAG := 1;
13 EXECPTION
14 WHEN DUP_VAL_ON_INDEX THEN
15 EXECUTE IMMEDIATE 'UPDATE '||TABLENAME||
16 'SET XMLRECORD = :bxmlrec WHERE RECID= :brec'
17 INSERTFLAG := 0;
18 END;
19* END B_INSERT;
20 .


When i execute a procedure it shows the following erorr.

SQL> EXEC pkg.b_insert('XMLTABLE','1','ABC');
BEGIN pkg.b_insert('XML','1','ABC'); END;

*
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'B_INSERT'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored



Could u pls help on this


Thanks
gandhi
OCP-DBA