create or replace type datasourcetool as object ( ivc_tablename varchar2(100), inum_length number, intb_column ntb_datacolumn, intb_data ntb_diminsion2, in_column_count number, in_row_count number, in_del_count number, intb_deleted ntb_diminsion2, in_auto_addcolumn number, constructor function datasourcetool return self as result, constructor function datasourcetool(aclob_xml clob) return self as result, member procedure itemstringdeleted(an_row number, an_col number, avc_return out varchar2), member procedure itemstringdeleted(an_row number, avc_col varchar2, avc_return out varchar2), member procedure itemnumberdeleted(an_row number, an_col number, an_return out number), member procedure itemnumberdeleted(an_row number, avc_col varchar2, an_return out number), member procedure itemdatetimedeleted(an_row number, an_col number, adtm_return out date), member procedure itemdatetimedeleted(an_row number, avc_col varchar2, adtm_return out date), member function getitemstring(an_row number, avc_col varchar2) return varchar2, member function getitemstring(an_row number, an_col number) return varchar2, member function getitemnumber(an_row number, avc_col varchar2) return number, member function getitemnumber(an_row number, an_col number) return number, member function getitemdatetime(an_row number, avc_col varchar2) return date, member function getitemdatetime(an_row number, an_col number) return date, member function rowcount return number, member function columncount return number, member function deletecount return number, member procedure index_of(avc_col in varchar2, an_index out number), member procedure setitem(an_row in number, avc_col in varchar2, avc_value in varchar2), member procedure setitem(an_row in number, avc_col in varchar2, an_value in number), member procedure setitem(an_row in number, avc_col in varchar2, adtm_value in date), member procedure auto_addcolumn(an_index in out number, avc_colname varchar2, avc_coltype varchar2), member procedure add_column(avc_colname in varchar2, avc_type in varchar2, an_pkindex number, an_external number, avc_default_value varchar2), member procedure add_row, member procedure export_xml(aclob_xml out clob), member procedure export_xml_full(aclob_xml out clob), member procedure create_sql_insert(an_row number, avc_return out varchar2), member procedure create_sql_update(an_row number, avc_return out varchar2), member procedure create_sql_delete(an_row number, avc_return out varchar2), member procedure create_sql_deleted(an_row number, avc_return out varchar2), member procedure execute_deleted(an_row_affect out number) );