Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.tools -> insert abstract datatype in procedure
i have a table in which a column is an abstract datatype, like this:
CREATE TYPE FULLNAME_TY AS OBJECT
(
LastName VARCHAR2(50),
FirstName VARCHAR2(25),
MiddleName VARCHAR2(25)
);
CREATE TABLE CLIENTDATA
(
ID NUMBER(10),
FullName FULLNAME_TY,
JoinDate DATE
);
now i can insert to this table via a perl script using DBI like this:
insert into CLIENTDATA
(ID, FullName, JoinDate)
values
(?, FULLNAME_TY(?,?,?), to_date(?,'mm/dd/yyyy'));
the problem is that i want to create a procedure to do the insert (so that it can be called from any of several scripts), and the procedure doesn't seem to recognize the abstract datatype:
CREATE OR REPLACE PROCEDURE NewClient
(
v_ID IN NUMBER, v_LastName IN VARCHAR2, v_FirstName IN VARCHAR2, v_MiddleName IN VARCHAR2, v_JoinDate IN DATE
v_ID, v_LastName, v_FirstName, v_MiddleName,
i get the error:
"PLS-00382: expression is of wrong type"
does anyone know how to have a procedure insert to a table with datatypes which are objects, as in this example?
![]() |
![]() |