Add the column to an existing table-based user-defined type

Hello guys,.
I am compiling my function that returns a type defined by the user based on an existing table. Throughout the process of initialization so my query returns an additional column - SCORE (1). Here is my package:

create or replace
PACKAGE STAFF_AGENCY_PKG AS

TYPE TYPE_SEEKER_TABLE IS TABLE OF THE DRAW. SEEKER % ROWTYPE;
FUNCTION GET_SEEKERS (IN_KEYWORD IN VARCHAR2)
TYPE_SEEKER_TABLE RETURN PIPELINE;

END STAFF_AGENCY_PKG;
-------

create or replace
STAFF_AGENCY_PKG PACKAGE BODY
AS

FUNCTION GET_SEEKERS (IN_KEYWORD IN VARCHAR2)
TYPE_SEEKER_TABLE RETURN PIPELINE
IS
R_TBL TYPE_SEEKER_TABLE; -to return
BEGIN
FOR R IN)
SELECT Seeker.SEEKER_ID,
Seeker.FIRSTNAME,
Seeker.LASTNAME,
Seeker.NATIONALITY,
Seeker.ISELIGIBLE,
Seeker.BIRTHDATE,
Seeker.ISRECIEVEEMAILS,
Seeker.HIGHESTDEGREE,
Seeker.ETHNICITY,
Seeker.GENDER,
Seeker.ISDISABILITY,
Seeker.DISABILITY,
Seeker.CV,
Seeker.PASSWORD,
Seeker.PREFFERED_CITY,
SEEKER. E-mail
SEEKER. JOB_PREFERENCES_ID,
SCORE (1)
THE APPLICANT Seeker
WHERE CONTAINS (CV, ' < query >)
< textquery lang 'grammar' = 'context' = > ' |
GET_RELATED_CATEGORIES (IN_KEYWORD) |
' < / textquery >
< score datatype = "INTEGER" / >
(< / query > ', 1) > 0
)
LOOP
PIPE ROW (R); -Error (38,10): PLS-00382: expression is of the wrong type
END LOOP;
RETURN;

END GET_SEEKERS;
END STAFF_AGENCY_PKG;

How do I change my user type to be sufficient?

Oracle version 11.2.0.1.0
Thanks in advance!

>
How do I change my user type to be sufficient?
>
You will need to create two new TYPEs. The one who has all the columns of the draw. The REQUESTOR table and the new column SCORE, then a TYPE which is an array of the first type.

See example 12-22 using a Pipelined Table function for a Transformation in the PL/SQl language reference

http://docs.Oracle.com/CD/B28359_01/AppDev.111/b28370/tuning.htm#i53120

Here's the first part

-- Define the ref cursor types and function
CREATE OR REPLACE PACKAGE refcur_pkg IS
  TYPE refcur_t IS REF CURSOR RETURN employees%ROWTYPE;
  TYPE outrec_typ IS RECORD (
    var_num    NUMBER(6),
    var_char1  VARCHAR2(30),
    var_char2  VARCHAR2(30));
  TYPE outrecset IS TABLE OF outrec_typ;
 FUNCTION f_trans(p refcur_t)
      RETURN outrecset PIPELINED;
END refcur_pkg;
/

CREATE OR REPLACE PACKAGE BODY refcur_pkg IS
  FUNCTION f_trans(p refcur_t)
   RETURN outrecset PIPELINED IS
    out_rec outrec_typ;
    in_rec  p%ROWTYPE;
  BEGIN

Change

  TYPE outrec_typ IS RECORD (
    var_num    NUMBER(6),
    var_char1  VARCHAR2(30),
    var_char2  VARCHAR2(30));
  TYPE outrecset IS TABLE OF outrec_typ;

to include all the columns you need. Unfortunately, you have to manually list all the columns in the draw. The REQUESTOR table. If you think you need this same structure in other places you must create them as SQL types instead of PL/SQL types.

This example should be enough to show you how to modify your code to do something similar.

Tags: Database

Similar Questions

  • I can add a column to an existing table with the data.

    Hello

    I'm working on
    The Version of database: Oracle 9i

    I can add a column to an existing table that already has data with below given command.

    ALTER TABLE table_name
    ADD the definition of the column_name column;

    Kind regards
    John

    Add to that:

    If your new column is NOT "null", you need the task in 3 steps:

    1. Add the column without a NOT NULL constraint
    2. the default value of the new column added.
    3. Add the NOT NULL constraint in the new column.

    concerning
    AJ

  • Add the cluster to an existing table in oracle

    Is it possible to add the cluster of an existing table? For example...

    I have a table:

    CREATE TABLE table_name)

    t_id number PRIMARY KEY,

    t_name varchar2 (50));

    Cluster:

    CLUSTER to CREATE my_cluster

    (c_id NUMBER) SIZE 100;

    Y at - it a command such as: ALTER TABLE t_name add CLUSTER my_cluster (t_id); or something like that?

    Because I want to table to look like this:

    CREATE TABLE table_name)

    t_id number PRIMARY KEY,

    t_name varchar2 (50))

    My_cluster (t_id) CLUSTER;

    And drop all the tables isn't really what I want to do.

    Thank you

    No,

    It is the reverse:

    A table can be stored as a segment of memory (the common way) or in a cluster.

    Will not be part of the table "in the cluster", but other parts outside.

    Please create a new table in the cluster and insert your data here.

    Sorry,

    Martin

  • Cannot add the partition to an existing table.

    Hello

    I don't add the partition to an existing table that is not partitioned, get the error as a type of data not valid, then I'm not find syntax errors.

    ALTER TABLE MESSAGEX_XCHANGE

    ADD THE PARTITION OF RANGE (LAST_MODIFY_TIMESTAMP)

    (

    PARTITION old_data VALUES LESS THAN (To_TIMESTAMP('27/02/2014','DD/MM/YYYY')),

    You see for VALUES LESS THAN (To_TIMESTAMP('28/02/2014','DD/MM/YYYY')) of the PARTITION

    );

    Error report:

    SQL error: ORA-00902: invalid data type

    1. 00000 - "invalid data type".

    * Cause:

    * Action:

    Thank you

    Manon...

    You get this error because your edit statement has an invalid syntax. In addition, you cannot partition a table that is not already configured for partitioning!

    You have to physically re-create the partitioned table in order to add new partitions to it.

  • Add the sequence to an existing table

    How can I add a sequence to an existing table in a new field called the User_Id? I use Oracle SQL Developer 3.0.04 version, and it provides an option to create a sequence that I did, called Log_Seq. So, I need to put this sequence in the Final_Log table under a column named User_Id. I'm stuck at this part. I'd appreciate any help I can get!

    Hello
    what you can do is to add a trigger on the table that make it work for you.

    For example:
    http://www.razorsql.com/features/oracle_add_sequence_trigger.html

    concerning
    Peter

  • List of tables of objects or the user-defined type columns

    Hello

    SQL > select * from v version $;

    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11 g Enterprise Edition Release 11.2.0.2.0 - 64 bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE Production 11.2.0.2.0
    AMT for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production

    I have n number of tables in my db, since I have several
    tables containing "user defined type columns.
    so, how can I get/list db objects that contains the user-defined type columns only.
    Please suggest me on this

    Kind regards
    Faiz

    Dear Sir

    I have n number of tables in my db,from that i have several
    tables which contains"user defined type columns"
    so how could i get/list the db objects which contains user defined type columns only.
    Kindly suggest me on this
    

    Use this

    select
          tab.table_name
        , tab.column_name
        , tab.data_type
    from
        user_tab_columns tab
      , user_types typ
    where
        tab.data_type = typ.type_name
    order by
        tab.table_name
        ;
    

    Best regards

    Mohamed Houri

  • How to add the column to the table of QSqlDatabase if does not exist

    Hello

    I have an app World and want to update to include more features.

    To do this I need to add more columns in an existing database table created using QSqlDatabase, someone knows how to do this please?

    Tim

    Hi, you can use ALTER TABLE

    http://www.w3schools.com/SQL/sql_alter.asp

  • How to add the column to the compressed table

    Hi gurus,

    Can someone help me how to add a column to compressed tables


    Thanks in advance

    The only difference is if added column has a default value. In this case:

    SQL> create table tbl(id number,val varchar2(10))
      2  /
    
    Table created.
    
    SQL> insert into tbl
      2  select level,lpad('X',10,'X')
      3  from dual
      4  connect by level <= 100000
      5  /
    
    100000 rows created.
    
    SQL> select bytes
      2  from user_segments
      3  where segment_name = 'TBL'
      4  /
    
         BYTES
    ----------
       3145728
    
    SQL> alter table tbl move compress
      2  /
    
    Table altered.
    
    SQL> select bytes
      2  from user_segments
      3  where segment_name = 'TBL'
      4  /
    
         BYTES
    ----------
       2097152
    
    SQL> alter table tbl add name varchar2(5) default 'NONE'
      2  /
    alter table tbl add name varchar2(5) default 'NONE'
                        *
    ERROR at line 1:
    ORA-39726: unsupported add/drop column operation on compressed tables
    
    SQL> alter table tbl add name varchar2(5)
      2  /
    
    Table altered.
    
    SQL> update tbl set name = 'NONE'
      2  /
    
    100000 rows updated.
    
    SQL> commit
      2  /
    
    Commit complete.
    
    SQL> select bytes
      2  from user_segments
      3  where segment_name = 'TBL'
      4  /
    
         BYTES
    ----------
       7340032
    
    SQL> select compression from user_tables where table_name = 'TBL'
      2  /
    
    COMPRESS
    --------
    ENABLED
    
    SQL> alter table tbl move compress
      2  /
    
    Table altered.
    
    SQL> select bytes
      2  from user_segments
      3  where segment_name = 'TBL'
      4  /
    
         BYTES
    ----------
       2097152
    
    SQL> 
    

    SY.

  • How can I add data file to an existing table on Oracle RAC ASM with no OMF? Thank you!

    How can I add data file to an existing table on Oracle RAC ASM with no OMF? Thank you!

    Hello

    So I guess you have some files in ASM, see your first existing file structure

    Select file_name

    from dba_data_files;

    and to add to an existing table, the example below (even if you're better sticking with OMFs!)-is that what you are looking for?

    SQL > create tablespace TEST1

    2 datafile '+ DATA' size 1 M;

    Created tablespace.

    SQL > select file_name in dba_data_files;

    FILE_NAME

    --------------------------------------------------------------------------------

    +Data/orcl2/datafile/users.259.859820983

    +Data/orcl2/datafile/undotbs1.258.859820983

    +Data/orcl2/datafile/SYSAUX.257.859820983

    +Data/orcl2/datafile/system.256.859820981

    +Data/orcl2/datafile/example.269.859821049

    +Data/orcl2/datafile/Test1.271.859843053

    6 selected lines.

    SQL > alter tablespace TEST1

    2 Add datafile ' + DATA / mynewfile01.dbf ' size 2 m;

    Tablespace altered.

    SQL > select file_name in dba_data_files;

    FILE_NAME

    --------------------------------------------------------------------------------

    +Data/orcl2/datafile/users.259.859820983

    +Data/orcl2/datafile/undotbs1.258.859820983

    +Data/orcl2/datafile/SYSAUX.257.859820983

    +Data/orcl2/datafile/system.256.859820981

    +Data/orcl2/datafile/example.269.859821049

    +Data/orcl2/datafile/Test1.271.859843053

    + DATA / mynewfile01.dbf

    Thank you

  • How add us partition on an existing table?

    Hi gurus,

    What would be the best way to add a partition to an existing table?

    Is there a simple documentation for example?

    Thank you

    What would be the best way to add a partition to an existing table?

    Is there a simple documentation for example?

    Was it something you were ask in an interview?

    You cannot add a partition to a table unless this table is a partitioned table.

    The table is already partitioned? If so, after the DDL.

    The Oracle documentation has examples of adding partitions to a table that is already partitioned

    Partition management

    Adding Partitions

    This section explains how to manually add partitions of a partitioned table and explains why partitions can be added specifically for partitioned more indexes.

    Adding a Partition to a partitioned Table range

    Use of the ALTER TABLE ... ADD PARTITION statement to add a new partition at the end 'high' (the point after the last existing partition). To add a partition at the beginning or in the middle of a table, use the SPLIT PARTITION clause.

  • How to add the column to Adobe flex mxml or actionsctpt mx:DataGrid?

    I have the simple mxml code

    <mx:DataGrid id="DGG"
                
    editable="true">
       
    <mx:dataProvider>
           
    <mx:Object scheduledDate="4/1/2006"/>
       
    </mx:dataProvider>
    </mx:DataGrid>
    <mx:Button id="SetBut"
              
    label="Set Array as Data Provider"
              
    click="SetDP(); AddBut.visible = true;"
              
    x="100.5"
              
    y="164"
              
    width="211"/>
    <mx:Button id="AddBut"
              
    label="Add a column!"
              
    click="AddCol();"
              
    x="100.5"
              
    y="194"
              
    width="211"
              
    visible="false"/>
    <mx:Script>
        <![CDATA[
            import mx.controls.dataGridClasses.DataGridColumn;
            import mx.collections.ArrayCollection;

            [Bindable]
            public var MyAC:ArrayCollection=new ArrayCollection([{scheduledDate: "4/1/2006", homeTeam: "Chester Bucks"}]);

            public function SetDP():void
            {
                DGG.dataProvider=MyAC
            }

            public function AddCol():void
            {
                MyAC.addItem({scheduledDate: "4/5/2007", homeTeam: "Long Valley Hitters", Umpire: "Amanda Hugenkis"});
                DGG.columns.push(new DataGridColumn("Umpire"));
            }
        ]]>
    </mx:Script>

    I want to add lines to my datagrid table how do such thing?

    How to add the column to Adobe flex mxml or actionsctpt mx:DataGrid?

    (You can place this code in a Flash or AIR application - it compiles without error, but will not add any columns =)

    Change this:

    public void SetDP (): void
    {
    DGG.dataProvider = MyAC
    MyAC.addItem ({scheduledDate: "05/04/2007", homeTeam: "long hitters Valley", umpire: "Amanda Hugenkis"});
    }
               
    public void AddCol (): void
    {
    var dgc:DataGridColumn = new DataGridColumn ("Umpire");
    var ca:Array = DGG.columns;
    CA.push (DGC);
    DGG.columns = ca;
    }

    Dany

  • Can I add the column to the playlist to my music list in itunes?

    I consult my entire list of music, and I'd like to know what category of playlist I created that the song is in. Can I add the column to the playlist to my music list?

    I use an older iTunes. You cannot create a column for playlists, but you can right click on individual tracks and is one of the elements to display the items in the lists of reading in which it is contained.

  • How to add the blank page to existing Document in Adobe Dc

    How to add the blank page to existing Document in Adobe Dc Pro

    Hi thashrifs16749461,

    You can add a blank page using Adobe Acrobat DC by following the instructions below:-

    (1) open your PDF in Acrobat DC.

    (2) choose the form of option "Organize the Page" of the tool pane on the right as shown below in the screen shoot.

    (3) now, at the top, you will see all the tools to organize the page, click "Insert" & select 'White Page' in the drop down menu to insert blank pages.

    * Shortcut: If you are using a windows computer you can use the key "Shift + Ctrl + T" to insert blank pages.

    In case if you have any problem or have any questions please let us know. We will be happy to help you.

    Kind regards

    Nicos

  • retrieving data from columns of user defined type

    Abstract types, I learned the other day. So I created an abstract type and a table.

    Create the student_ty as an object type
    (name varchar2 (20), number of roll);

    create table result)
    Student student_ty,
    (total);



    I also inserted data. But I'm having some trouble with the rretrieval of data. Suppose I want to choose only the roller and the name of the student as described in the type of studen. So I used the follwing query: -.

    Select result student.name;

    But it's not working. But when I use something like this: -.
    Select r.total, r.student.name in result r;


    This works perfectly. My question is that it is a rule that oracle needed to use an alias, whenever retrieve values for a user defined type data?. Help, please.
    Thanks in advance.

    Yes, you can use an alias when the type of object in a table like this.

    select r.student.name, r.student.roll, r.total
      from result r
    
  • Question of the user defined Type (UDT)

    Hello

    The attached file is NEITHER sample to call a VB6 vi.

    The following is declared in the declaration section:

    ' Global declarations
    Dim lvapp As LabVIEW.Application
    Dim vi LabVIEW.VirtualInstrument

    When I paste these statement in another project (that I'm working on), I get an error 'undefined user-defined type '.

    Can someone point out to me were in the sample, these type definitions are declared?

    Thank you

    Rafi

    PS the attachment is indeed xxx.rar and not xxx.zip.  I changed the name because .rar has not been accepted.  Please rename .rar

    Thank you

    I forgot to mark references to my project

    Project--> references--> LabView. Type library of xxx

    Thank you

Maybe you are looking for

  • Satellite Pro C850 Wi - Fi lost after updating BIOS

    Today I received the notification of an update of the bios, I completed the update of the bios, but when the laptop restarts I had lost the Wi - Fi connectivity and now cannot connect via Ethernet. I looked online for answers, but the links I present

  • Dissolve an Apple ID for the deceased

    Can someone please help me understand why Apple is so reluctant to help me dissolve Apple of my deceased mother ID them? 2 years ago after the death of my mother, I've provided Apple with a copy of the Act of death, and the power of Attorney document

  • my hp psc 1610

    don't say that no mode of mech one know what that means and how to fix it?

  • Is there a difference in the opening between the lenses?

    Happy holidays. I thought too new.  I'll start with what is probably a false assumption.  Suppose I have a lens that uses a 58mm filter and another that uses a 77mm filter.  For the sake of the argument, I suppose that elements of lenses in order to

  • Synchronization of folders Outlook of blackBerry Smartphones

    Hi all My question is not really specific to BB 9000 "BOLD" (my model) but I didn't know where else to post it: I would like to be able to view and synchronize my folder (part of my Inbox), and not only a few messages that are not put into a specific