HOW TO - WHERE COLUMN IN (PROCEDURE or FUNCTION)

Hi.
Its posible use Procedure or Function on IN clause??
Example
SELECT * FROM TABLE WHERE COLUMN IN (PROCEDURE);
or
SELECT * FROM TABLE WHERE COLUMN IN (FUNCTION);Thxx for your help!
Edited by: Adonias.cl on Oct 12, 2012 9:25 AM

OK, WKS!
-- CREATE  COLUMNS TYPE
CREATE OR REPLACE TYPE CLMN_LOCA AS OBJECT (
    CODI CHAR(4),
    NAME VARCHAR2(30)
-- CREATE TABLE TYPE
CREATE OR REPLACE TYPE TBLA_LOCA AS TABLE OF CLMN_LOCA;
--CREATE FUNCTION
CREATE OR REPLACE FUNCTION LOCATION(INZONE IN VARCHAR2 DEFAULT 'LATM')
  RETURN TBLA_LOCA PIPELINED
  AS
    -- CURSOR
    CURSOR LOCATIONS IS SELECT ....  WHERE ZONE = INZONE  ... ;
  BEGIN
    --LOOP
    FOR LOC IN LOCATIONS
    LOOP
        -- INSERT
        PIPE ROW (CLMN_LOCA (LOC.CODI_LOCATION, UPPER(LOC.DESC_LOCATION)));
    END LOOP;
    RETURN;
  END;
COMMIT;and
SELECT * FROM TABLE WHERE COLUMN IN ( SELECT * FROM TABLE(LOCATION('COLO')) );Thxx !

Similar Messages

  • How can I use the procedures and functions in my library

    hello, all
    I have a pl/sql library MYLIB.pld, MYLIB.pll and MYLIB.plx.
    How can I invoke procedures and functions there in JDeveloper?
    Thanks.
    Damon

    I am indeed using ADF BC to re-develop the oracle application.
    Here is my situation:
    We have an oracle form application.
    Our objective is to try to re-use the existing sources in the form application as much as possible:
    1. tons of procedures and functions in a pl/sql library(a file with extension name portfolioLib.pll or portfolioLib.plx);
    2. tons of form-level triggers, data-block triggers and item-triggers;
    3. tons of database stored procedures and triggers;
    After doing a research on JDeveloper, we decide to use ADF Swing+ADF BC to re-develop the application.
    My opinion for the above three kinds of sources in our form application is:
    for 1: we try to move most of procedures and functions into database(except Form build-in);
    for 2: we try to wrap those triggers in a SQLJ class;
    for 3: we try to call database procedures and functions with PreparedStatment or CallableStatement;
    I just do a test on a post-query trigger on a data-block:
    I created a sqlj file, named testSQLJ.sqlj in the test.view package;
    I tried to call it in createInstanceFromResultSet of testDeptVOImpl.java which is test.model package,
    I was told that testSQLJ cannot be found there. why?
    How can I call some classes from test.view package in some classes of test.model?
    I read some documents about how to deal with post-query trigger in JDeveloper: create a view with SQL statement, but it seems that it does not support pl/sql statement there.
    Can you give me some opinion about the above stuff?
    I really appreciate your help.
    Damon

  • How to test PL/SQL procedures and functions?

    What are the proven ways to test pl/sql procedures and functions? Specifically, procedures and functions that take cursor variables as IN OUT parameter, OR procedure and functions that takes an array as IN parameter?
    Thx.

    HI,
    One way could by using PL/SQL Develper tool, see Tools/Test Manager...
    Also there are others tools, see [Cleaning Up PL/SQL Practices|http://www.oracle.com/technology/oramag/oracle/04-mar/o24tech_plsql.html] and specifically oUnit
    Regards,
    PS: Your question is very general, could you provide an specific example you are trying?
    Edited by: Walter Fernández on Nov 11, 2008 4:04 PM - Adding PS

  • How  to exclude columns dynamic using group functions or any other function

    i have a select that look like this
    SELECT *
      FROM (SELECT DISTINCT gruposcomerciales.cod_gcomercial,
                            gruposcomerciales.descripcion,
                            DECODE (:0,
                                    'OFICIAL', pbeoficialesjerarquia.oficial_id,
                                    NULL
                                   ) oficial_id,
                            DECODE (:0,
                                    'BANCA', NULL,
                                    pbeoficialesjerarquia.id_cluster
                                   ) id_cluster,
                            pbeoficialesjerarquia.cod_banca
                       FROM grupos_comerciales gruposcomerciales,
                            clientes clientes,
                            clientes_oficiales clientesoficiales,
                            pbe_oficiales_jerarquia pbeoficialesjerarquia,
                            bancos_clientes bancosclientes
                      WHERE gruposcomerciales.cod_gcomercial =  bancosclientes.cod_gcomercial
                        AND clientes.ID = bancosclientes.cliente_id
                        AND clientes.ID = clientesoficiales.cliente_id
                        AND bancosclientes.cliente_id = clientesoficiales.cliente_id
                        AND bancosclientes.entidad_id = clientesoficiales.entidad_id
                        AND clientesoficiales.oficial_id = pbeoficialesjerarquia.oficial_id
                        AND gruposcomerciales.cod_gcomercial <> 'SINGRUPO100'
                        AND clientesoficiales.tipo_oficial = 'PRINCIPA'
                        AND bancosclientes.estado_clientes_ibs = 'ACTIVO') qrslt
    WHERE (cod_banca = :1 AND id_cluster = :2 AND oficial_id = :3)This SQL duplicate rows so i use a distinct to exclude duplicate rows and decode to set null for columns that not are interested at runtime to avoid duplicate rows
    I use decode to dynamicly set null (a way fo not show duplicate rows from colums)
    If :0 is OFICIAL its show 3 columns values for oficial_id,cod_banca,id_cluster
    if :0 is CLUSTER its show 2 columns values for cod_banca,id_cluster
    There is a way to group by columns without take in consideration duplicate rows of other columns

    If i do my query passing pameters to [b]OFICIAL_ID, ID_CLUSTER, AND COD_BANCA get this info
    COD_GCOMERCIAL  DESCRIPCION                          OFICIAL_ID ID_CLUSTER COD_BANCA
    ==============  ===========                          ========== ========== =========
    GRUPOALC1149     GRUPO ALCAP                          JESS329     39        BANCAEMP
    GRUPOALQ533     GRUPO ALQUILERES NACIONALES          JESS329     39        BANCAEMP
    GRUPOANA649     GRUPO ANA MARIA CHEN                 JESS329     39        BANCAEMP
    GRUPOANC253     GRUPO ANCON                          JESS329     39        BANCAEMP
    GRUPOARI104     GRUPO ARIAS Y DE LA GUARDIA          JESS329     39        BANCAEMP
    GRUPOATL813     GRUPO ATLAS CORPORATION              JESS329     39        BANCAEMP
    IF I pass parameters to ID_CLUSTER, AND COD_BANCA i get
    COD_GCOMERCIAL  DESCRIPCION                          OFICIAL_ID ID_CLUSTER COD_BANCA
    ==============  ===========                          ========== ========== =========
    GRUPOALC1149     GRUPO ALCAP                                    39        BANCAEMP
    GRUPOALQ533     GRUPO ALQUILERES NACIONALES                    39        BANCAEMP
    GRUPOANA649     GRUPO ANA MARIA CHEN                           39        BANCAEMP
    GRUPOANC253     GRUPO ANCON                                    39        BANCAEMP
    GRUPOARI104     GRUPO ARIAS Y DE LA GUARDIA                    39        BANCAEMP
    GRUPOATL813     GRUPO ATLAS CORPORATION                        39        BANCAEMP
    IF I pass parameters to COD_BANCA i get
    COD_GCOMERCIAL  DESCRIPCION                          OFICIAL_ID ID_CLUSTER COD_BANCA
    ==============  ===========                          ========== ========== =========
    GRUPOALC1149     GRUPO ALCAP                                            BANCAEMP
    GRUPOALQ533     GRUPO ALQUILERES NACIONALES                            BANCAEMP
    GRUPOANA649     GRUPO ANA MARIA CHEN                                   BANCAEMP
    GRUPOANC253     GRUPO ANCON                                            BANCAEMP
    GRUPOARI104     GRUPO ARIAS Y DE LA GUARDIA                            BANCAEMP
    GRUPOATL813     GRUPO ATLAS CORPORATION                                BANCAEMPMy decode on select do this functionality of set null to columns because there are sometimes in wich oficial_id or id_cluster get rows
    that i dont need take in consideration.
    this get overhead on my select and on 10g using inline views by dblink not work fine
    this decode on my select do this functionality
    decode('OFICIAL', 'OFICIAL' , pbeoficialesjerarquia.oficial_id, NULL) oficial_id,
    decode('OFICIAL', 'BANCA' , NULL, pbeoficialesjerarquia.id_cluster) id_cluster,
    So i know oracle has a lot off grouping function some of this should help me to get this work
    Tnx Warren

  • How to use pl/sql procedure or function as part of validate the entity obj?

    Hi,
    we are migrating from oracle forms to jdeveloper 11g.
    I have a req. that,i wanted to use oracle pl/sql procedure to validate a attribute in an entity created with ADF BC?
    Is it possible to implement this?
    And how to show the error message from pl/sql procedure?
    Regards
    Murali.

    Hi,
    It is possible by using a method validator for the entity attribute.
    Create a transient attribute 'X'.
    In the validation section of the attribute to be validate, choose method validator.
    In the Error Message tab set error message as {0}.
    Below the value for tokentoken should source.X (X is the transient attribute name)
    In the java code of method validator, call the stored procedure and set the value of transient attribute X with the error message from SP.
    Use setX("ErrorMessage").
    Regards,
    Srinidhi

  • Without calling stored procedure or functions from database

    Hi,
    I am using Jdeveloper 11.1.1.5.0.
    =>How to do PL/SQL procedures and functions in ADF without calling stored procedure or function from DB?

    S, PL/SQL procedures and functions are done in Application Module class or in managed bean..By calling the stored procedures or functions from DB.
    But I am asking how to do if DB doesn't have any procedures,triggers and functions.

  • How to get a list of values used in the WHERE filter of stored procedures and functions in SQL Server

    How can I get a list of values (one or more) used in the WHERE filter of stored procedures and functions in SQL Server?
    How can get a list of values as shown (highlighted) in the sample stored procedure below?
    ALTER PROC [dbo].[sp_LoanInfo_Data_Extract] AS
    SELECT   [LOAN_ACCT].PROD_DT,
                  [LOAN_ACCT].ACCT_NBR, 
                  [LOAN_NOTE2].OFCR_CD, 
                  [LOAN_NOTE1].CURR_PRIN_BAL_AMT, 
                  [LOAN_NOTE2].BR_NBR,
    INTO #Table1
    FROM
                    dbo.[LOAN_NOTE1],
                    dbo.[LOAN_NOTE2],
                    dbo.[LOAN_ACCT]
    WHERE
                    [LOAN_ACCT].PROD_DT = [LOAN_NOTE1].PROD_DT
                    and
                    [LOAN_ACCT].ACCT_NBR = [LOAN_NOTE1].ACCT_NBR
                    and
                    [LOAN_NOTE1].PROD_DT = [LOAN_NOTE2].PROD_DT
                    and
                    [LOAN_NOTE1].MSTR_ACCT_NBR = [LOAN_NOTE2].MSTR_ACCT_NBR
                    and
                    [LOAN_ACCT].PROD_DT = '2015-03-10'
                    and
                    [LOAN_ACCT].ACCT_STAT_CD IN
    ('A','D')
                    and
                    [LOAN_NOTE2].LOAN_STAT_CD IN
    ('J','Z')
    Lenfinkel

    Hi LenFinkel,
    May I know what is purpose of this requirement, as olaf said,you may parse the T-SQL code (or the execution plan), which is not that easy.
    I have noticed that the condition values in your Stored Procedure(SP) are hard coded and among them there is a date values, I believe some day you may have to alter the SP when the date expires. So why not declare 3 parameters of the SP instead hard coding?
    For multiple values paramter you can use a
    table-valued parameter. Then there's no problem getting the values.
    If you could elaborate your purpose, we may help to find better workaround.
    Eric Zhang
    TechNet Community Support

  • How to write procedure or function or any sql statement for requirement

    Hi,
    i have a table named letter,it contains 2 columns named as letter_id and letter_content.
    select * from letter;
    letter_id letter_content
    103 Dear MFR
    103 This is in regards to the attached DM List
    103 Please Credit us after reviewing it.
    103 Thanks
    103 Regards
    103 xxxx
    108 Dear customer
    108 This is to inform that ur DM List is as follows
    108 Credit us according to the Dm after reviewing it.
    108 Thanks
    108 Regards
    108 xxxx
    now my requirement is,i need send a parameter as letter_id to a procedure or function in pl/sql in oracle,the output should be as follows:
    if we will pass parameter(letter_id) = 103 then it displays as follows:
    Dear MFR
    This is in regards to the attached DM List.Please Credit us after reviewing it.
    Thanks
    Regards,
    XXXXX.
    if we will pass parameter(letter_id) = 108 then it should displays as follows:
    Dear customer,
    This is to inform that ur DM List is as follows. Credit us according to the Dm after reviewing it.
    Thanks
    Regards,
    XXXXX.
    ---------------------------------------------------------------------------------------------------------

    i am really appriciate ur help.
    thank u so much for ur suggestions.
    when i am uning line_seq its giving an error
    ORA-00904: "LINE_SEQ": invalid identifier
    so,in my table i had created a sequense named content_seq.
    select * from letter;
    content_seq letter_id letter_content
    1 103 Dear MFR
    2 103 This is in regards to the attached DM List
    3 103 Please Credit us after reviewing it.
    4 103 Thanks
    5 103 Regards
    6 103 xxxx
    7 108 Dear customer
    8 108 This is to inform that ur DM List is as follows
    9 108 Credit us according to the Dm after reviewing it.
    10 108 Thanks
    11 108 Regards
    12 108 xxxx
    then i had used ur code as follows:
    select linefrom ( select content_seq , letter_content || case content_seq when 2 then ' ' || lead(letter_content) over (partition by letter_id order by content_seq) end as line from letter where letter_id = 103 )where content_seq <> 3;
    LETTER_CONTENT
    Dear MFR
    this is in regards to the attached DM List Please credit us after reviewing it
    thanks
    Regards
    EXP
    but when i take letter_id = 108 the format is comming different.it was unable to combine 2lines.
    Message was edited by:
    user579585
    Message was edited by:
    user579585

  • How to pass column name at run time in function.

    how to pass column name at run time in function as parameter.
    thank in advance
    pramod patel

    Hello,
    Using dynamic sql you can pass column name to function. well I am not getting what you really want to do ? Please write in more detail. By the way I am providing one example here. see it uses dynamic sql.
    Create or replace function fun_updtest (p_columnname_varchar2 in varchar2,
    p_value_number in number)
    return number is
    v_stmt varchar2(500);
    begin
    v_stmt := 'update emp
    set '||p_columnname_varchar2||' = '||to_char(p_value_number)||'
              where empno = 7369';
    execute immediate v_stmt;
    return 0;
    commit;
    end;
    call to this function can be like this..
    declare
    v_number               number;
    begin
    v_number := fun_updtest('SAL',5000);
    end;
    Adinath Kamode

  • How to find how much memory used by particular procedure or function.

    Hi,
    How can we find out memory used by particular procedure or function?
    If procedure or function is called many times in particular interver, wil it be cached in memory?
    and how will it affect performance?
    what type of pl/sql statement will take more time than normal sql statement?

    Hi
    There are several different memory issues to consider:
    - the code itself (stored in the shared pool)
    - simple variables defined in the code
    - complex variables (eg VARRAY, TABLE etc)
    There's a helpful note on PL/SQL profiling here - http://www.oratechinfo.co.uk/tuning.html - which mentions how to measure memory use (session PGA and UGA - that's program and user global areas)
    You can find out more about shared pool memory structures here - http://download-east.oracle.com/oowsf2005/003wp.pdf.
    Calling a function many times - yes, the function code will be cached (if possible). Session state (for a package) will also be retained (ie global package variables).
    If many users call the same function, there will be one copy of the code but many copies of the private state.
    Finally: PL/SQL statements that can take a long time include:
    - anything that does heavy processing inside a tight loop;
    - anything that waits (select for update; read from a pipe or dequeue from AQ etc)
    Probably the most common mistake is to use PL/SQL for relational processing that can be done from SQL itself (eg writing nested PL/SQL loops to join data that could have been queried in a single SQL statement. Try to minimise context switches between PL/SQL and SQL:
    - use bulk collect where possible
    - use set operations in SQL
    Good luck, HTH
    Regards Nigel

  • How to test procedures and functions of pl/sql

    I am working as a QA basically i got a new assignment of testing functions and procedures, and packeged bodies. Can any one help me in this matter.
    Please help me.
    Hi i am new to oracle I want to test procedures and functions,
    and packaged bodies of pl/sql.

    It depends on what you meant by "testing". I guess you need to check that routines (functions, procedures, packages etc) in valid state and execute without errors. The simpliest way is to get some development tool like TOAD (http://www.quest.com), Oracle Maestro (http://www.sqlmaestro.com) or PL/SQL Developer (http://www.allroundautomations.com). You can connect with them to database and look at the routine state VALID or INVALID. You can recompile them, run and even debug. I guess this should be enough.
    Alternatively you can do same thing from sqlplus. Of course with lesser comfort. You need to write certain SQL statements. For example i want to find invalid procedures:
    SQL> select OBJECT_NAME, OBJECT_TYPE from USER_OBJECTS where STATUS='INVALID';
    To check how procedures work you need to execute anonymous PL/SQL block like this:
    declare
         /* local variables declaration */
         NAME VARCHAR2(4000);
         PRESIDENT_ID NUMBER(38);
         ID NUMBER(38);
    begin
         /* setting up variables */
         NAME:='MICROSOFT';
         PRESIDENT_ID:='BILLY';
         ID:=NULL;
         /* calling routine */
         GEOMETRY.ADD_COMPANY(NAME,PRESIDENT_ID,ID);
    end;

  • How to check if column_ name is used by any procedure ,package ,function

    Hello
    Help Is greatly appreciated .
    Kindly please let me know for the folllwoing:
    How to check if column_ name is used by any procedure ,package ,function ,trigger or in any dataabse objects

    >
    How to check if column_ name is used by any procedure ,package ,function ,trigger or in any dataabse objects
    >
    In general you can't. Code can always exist outside the database and it is always possible that you have dynamic code and there is no way to find references like that if used by dynamic code. That dynamic code reference could be based on a query stored in a table.
    And there is no way of knowing if external code (e.g. a Java app) references that column.
    Another issue is that a column could exist in multiple schemas and in multiple objects of different types in those schemas. So a global DB search for 'MY_COLUMN' might turn up references in multiple schemas and you may only care about one schema.
    Unfortunately a reference to 'MY_COLUMN' in code could refer to many different objects or to an object in different schemas so how would you resolve those? Especially if you take synonyms into account which can ponit about anywhere.
    Why don't you tell us what it is you are really trying to do?
    Are you trying to find the references to a particular column? Why? Are you planning on removing/renaming the column? If so then the simplest way is to remove/rename the column and see what objects become invalid. Those invalid objects will have become invalid because that column is no longer available.
    As suggested you can use DBA_SOURCE for references in code that use the standard names. But for tables/views you need to use all_tab_columns. And for dynamic code or client code (e.g. a Java application) there is no way.

  • How to find out list of procedures and functions inside a package

    How I can find out the list of Procedures and Functions inside a Package.

    Look at ALL_PROCEDURES and ALL_ARGUMENTS.

  • How to Call Procedure or Function

    Hi,
    How to call a procedure or function in apex, Please let me know
    Thanks
    Sudhir

    Hi,
    This post might help
    Re: How to Call procedure In Processes
    Regards,
    Jari

  • How to reconcile procedure or function in a mapping using OMB Plus?

    HI,
    Could any one please explain, how to reconcile a procedure or function used in a mapping?
    Thank you,
    Regards,
    Gowtham Sen.

    Hi,
    You can only reconcile Inbound (from Procedure to the mapping) :
    OMBRECONCILE PROCEDURE \
    '/[Project_name]/[Module_name]/[Procedure_name]
    TO MAPPING '[Mapping_name]' \
    OPERATOR '[for example name of a Post-Mapping Process in the mapping]' \
    USE (RECONCILE_STRATEGY 'REPLACE', MATCHING_STRATEGY 'MATCH_BY_OBJECT_ID')
    Hope that will help.
    Best Regards
    Samy

Maybe you are looking for