How to pass dynamically constructed string to where clause

select name from mytable
where l_condition
and sal=20;
l_condition is value coming from the function.
ex: l_condition is first_name='abc' and last_name='xyz' and first_name='def' and last_name='zef'

Dynamic SQL can help in this case:
variable ref refcursor
DECLARE
  l_condition VARCHAR2(1000) :=
      ' salary > 3000  and first_name like ''L%''';
BEGIN
  OPEN :REF FOR
  ' SELECT first_name, salary FROM hr.employees ' ||
  ' WHERE ' || l_condition;
END;
print :ref;
FIRST_NAME           SALARY                
Laura                3630                  
Lindsey              8800                  
Lex                  18700                 
Luis                 7590                  
Louise               8250                  
Lisa                 12650                 

Similar Messages

  • How to pass parameters to function in  where clause....

    I have a select statement like this
    SELECT XX_AIR_TICKET_EMP_BAL(:P2) from dual
    is it possible to pass to variable p2 from where clause
    like
    SELECT XX_AIR_TICKET_EMP_BAL(:P2) from dual
    where :p2 = :p1
    user can enter only in p1 so that p2 should get passed.
    Reson for this wierd requirement:In Oracle apps i cant use bind variable in select clause value set..? please ignore this reason if u are not in oracle apps...
    Tell me the solution..
    Is there any way...
    setting some env variavle aor anything

    [email protected] wrote:
    I have a select statement like this
    SELECT XX_AIR_TICKET_EMP_BAL(:P2) from dualWhy a SELECT statement? This calls the SQL engine. The function is PL/SQL. This now needs the SQL engine to context switch to the PL engine. The PL engine runs and returns a value (across memory boundaries) to the SQL engine. The SQL engine now needs to return that value as part of the output from a SQL cursor.
    Why do all this? Surely it is a lot easier and better for performance to call the PL engine directly using an anonymous PL block. E.g.
    begin
      :P3 := XX_AIR_TICKET_EMP_BAL(:P2);
    end;
    is it possible to pass to variable p2 from where clause
    like
    SELECT XX_AIR_TICKET_EMP_BAL(:P2) from dual
    where :p2 = :p1Why?
    This can be done as part of the PL block as follows:
    begin
      if :P2 = :P1 then
        :P3 :=  XX_AIR_TICKET_EMP_BAL(:P2);
      end if;
    end;But then why construct conditional statements dynamically?
    It would be a lot easier to have a new function that does the condition, e.g.
    create or replace function getAirTicket( p1 number, p2 number ) return number is
    begin
      if p1 = p2 then
        return( XX_AIR_TICKET_EMP_BAL(p2) );
      else
       return( null );
      end if;
    end;

  • How to pass the parameter in the where clause of the select statement

    Hi All,
    Iam getting one of the value from the Input otd and using this value i need to query one of the tables in oracle database and selected the table using the oracle eway otd like shown below .
    otdRISKBLOCK_1.getRISKBLOCK().select() .
    where clause in side the select takes a string parameter as Iam getting the string parameter from the input otd and passing this to where clause by creating a string literal after deployment it is giving an error saying "ORA-00920: invalid relational operator".
    can any one throw some input on this .
    Thanks in Advance
    Srikanth

    You will see this error if the search condition was entered with an invalid or missing relational operator.
    You need to include a valid relational operator such as
      =, !=, ^=, <>, >, <, >=, <=, ALL, ANY, [NOT] BETWEEN, EXISTS, [NOT] IN, IS [NOT] NULL, or [NOT] LIKE in the condition. in the sql statement.
    Can you throw some more light on how are you designing your project?

  • How to pass dynamically generated string value as array name in TestStand?

    Hi All,
              I have a string variable which holds an array name as its value. The string value is a dynamically generated one. Now my problem is how to retrieve the values within the array where as the array name is stored in a string variable.
    for eg:
    fileglobals.InfoName = "Array_Name" --> fileglobals.InfoName is a string variable, Array_Name is the array name generated dynamically and it is known only at run-time.
    Array_Name[0] = "a";
    Array_Name[1] = "b";
    Array_Name[2] = "c";
    In the above case, I have to retrieve the values of a, b and c
    Any help is greatly appreciated
    Thanks
    Arun Prasath E G

    Hi,
    Looking at your sequencefile.
    You seem to be trying to save into FlieGlobals.InfoName a string with the values of "FileGlobals.Info_0".."FileGlobals.Info_n" where n is the value of Parameter.TestSocket.Index.
    Then you are setting the value into FileGlobals.TempName from "StationGlobals.FileGlobals.Info_0" assuming Parameter.TestSocket.Index is 0.
    Is this correct?
    I realise this is a cutdown sequence file but you must make sure These variable actually exist in either FileGlobals or StationGlobals. Also with FileGlobals each SequenceFile has its own FileGlobals unless you have set the properties of the SequencFile to use a common FileGlobals.
    What was the precise error you was seeing as it will properly telling you what variable of property it can't find.
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • How to pass the values to the WHERE-Clause in JClient ADF?

    Hi all,
    my JDeveloper Version is 10.1.2.0.0 (Build 1811)
    I need something like this:
    A Form with a Filter-Panel, and the Table-Panel EMP.
    In Filter:
    1. DEPTNO as ComboBox with values from the DEPT table (not static values). The ComboBox should contain all deptno's from DEPT and one NULL value too, so the user can be able to select this NULL-value and get all employees from all depatments.
    2. TextField Job - not the database field - not required. The user should be able to enter in this field any JOB and get the Employees for selected deptno (or for all departments by selecting NULL-value) in combobox with the needed job. When the user does not enter anything in the TextField then he should get all Employees from the department from combobox.
    In Table-Panel:
    JTable for EMP.
    What I try to do:
    1. Create an Application Workspace with "Java Application [default]" as Application Template.
    2. For Model-Package: New -> Business Components -> Business Components from Tables
    3. On the "Entity Objects from Tables"-page of wizard I shuttle DEPT and EMP from available to selected.
    4. On the "Updatable View Objects from Entity Objects"-page I shuttle the both view objects from availabe to selected.
    5. On the "Read-Only View Objects from Tables"-page I do not select anything
    6. Create the AppModule on the "Appication Module"-page.
    7. Test the AppModule -> all is OK.
    8. Create the next ViewObject "DeptNew" with read-only access and Query: "SELECT DEPTNO FROM DEPT".
    9. Then I create a new attribute "JOB" for this ViewObject with Type String and Updatable: Always.
    10. Create a VeiwLink "DeptNewLink", on the "View Objects"-page: Cardinality -> 1 to 1.
    11. Source Attribute: DeptNew DeptNo -> Destination Attribute EmpView Deptno and click on Add
    12. Source Attribute: DeptNew Job -> Destination Attribute EmpView Job and click on Add.
    13. Edit the AppModule to add my DeptNew and DeptNewLink.
    When I test the AppModule and double click on the DeptNewLink then I can enter the 20 in the DEPTNO and CLERK in the JOB and see the result in the Table.
    Now I create the Master-Detail Form (at first without combobox) with wizard:
    1. As Master I select the DeptNew1, as Detail EmpView3.
    2. "Selected Attributes for Master" - Deptno, job.
    3. "Selected Attributes for Detail" - all attributes.
    Now I test my form in Query Mode:
    Enter 20 to the DEPTNO field and enter CLERK to the JOB field. After Execute Query I get:
    "JBO-27122: SQL-Fehler bei Vorbereitung der Anweisung. Anweisung: SELECT * FROM (select deptno from dept) QRSLT WHERE ( ( (DEPTNO = 20) AND (VIEW_ATTR LIKE 'CLERK') ) )"
    Why VIEW_ATTR how to change it to JOB?
    What have I done false?
    Please help me to create the combobox with the above listed requirements.
    Regards

    I'd go about this a little differently (probably not the best way):
    1. Create view object lk_department (lookup). In the query add a union with something like "select null as ID, 'All' as name' from dual;". This adds a null value that they can select by leaving the combo box on "All". Add a 'order by id" so the null value is the first one. When creating the combo box you want it set to navigation mode, so select the whole viewobject from the data palette rather a specific field.
    2. Create a jTextField for the "Jobs" field.
    3. Create an application module method that does something like:
    public void filterEmployees(String job){
    ViewObject vo_departments = findViewObject("lk_departments");
    ViewObject vo_employees = findViewObject("employees");
    String wc = "1 = 1 ";
    String wc = " and job like '%"+job+"%'"
    if (vo_departments.getCurrentRow().getAttribute("Id") != null) {wc += "and department_id = "+vo_departments.getCurrentRow().getAttribute("Id");}
    vo_employees.setWhereClause(wc);
    vo_employees.executeQuery();
    this.sync;
    4. In your Jclient app, you just need to call the method of your appmodule and insert the string from the textbox, using code similar to this:
    AppModule b = (AppModule)panelBinding.getApplicationModule();
    b.filterEmployees(jTextField.getText());
    I didn't test this code, but that's how I go about the same thing.

  • FTP how to pass dynamic filename/directory location - reading a file in 11g

    Hi All,
    We r using FTP adapter(SOA 11g) for getting files in remote server, May i know how to pass dynamic filename and directory where the file exists for reading in server.
    Thanks,
    Rak

    Hey according to my understanding, the Dynamic partner links are set only for the Outbound invocations only. Is my understanding right? if so, how do we create the dynamic partnerlinks for the ftp get kind of stuff...??
    Thanks in advance

  • How to pass dynamic filename to Receiver JMS channel

    Hi experts,
    I want to pass the dynamic filename to receiver JMS message Properties.
    for example
    I am passing directory name via adapter module AF_Modules/DynamicConfigurationBean with key and value combination like below. How to pass dynamic filename value to a dynamic property ( say DCJMSMessageProperty1)
    eg.
    key.0 - >insert http://sap.com/xi/XI/System/JMS DCJMSMessageProperty0
    value.0 - >  testdirectory ( which is static value)
    Note: Im have not created any ESR object . i just have to bypass the file to a jms queue. I have used AAE integrated configuration scenario ( file to jms )
    Regards,
    Balaji
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:45 PM
    Edited by: Balaji Pichaimuthu on Jan 27, 2011 4:46 PM

    Already given link for the dynamic configuration code snippet in the earlier reply... Below is the code snippet
    Note: Use Adapter Specific Message Attributes for the target Communication Channel(CC).Check the indicator for filename in the advanced tab of CC
    //UDF code
    String filename="";
    String NameSpace = "http:/"+"/sap.com/xi/XI/System/JMS";
    try{
          DynamicConfiguration conf = (DynamicConfiguration) param.get(
            StreamTransformationConstants.DYNAMIC_CONFIGURATION);
          DynamicConfigurationKey key  =  DynamicConfigurationKey.create( "http://sap.com/xi/XI/System/File",   "FileName");
           // read filename value
           filename = conf.get(key);     
          // So far we extracted filename value .. now do your logic  something like this...
          DynamicConfigurationKey key2 = DynamicConfigurationKey.create(NameSpace,"yourjmsvalue goes here");
           conf.put(key2,filename);
         } catch(Exception e){

  • How to pass dynamic selection to logical databse using ldb_process function

    dear friends,
                         can anybode tell me how to pass dynamic selection to the logical database when i m using LDB_PROCESS function module.  however, in EXPRESSIONS paramter of the function module i m  passing the selecti-option, it is passing their also but when i used more than  two select-option or paramter it throw an exception FREE_SELECTIONS_ERROR.
    SO PLEASE GUIDE ME HOW TO PASS MORE THAN TWO SELECT-OPTION IN LOGICAL DATANSE DYNAMICALLY USING LDB_PROCESS.

    would be nice if you post the answer to all

  • How to create dynamic connection string with variables using ssis.

    Hello,
    Can anyone let me know on how to create dynamic connection string with variables using ssis?
    Any help would be appreciated.

    Hi vinay9738,
    According to your description, you want to connect multiple database from multiple servers using dynamic connection.
    If in this case, we can create a Table in our local database (whatever DB we want) and load all the connection strings.  We can use Execute SQL Task to query all the connection strings and store the result-set in a variable of object type in SSIS package.
    Then use ForEach Loop container to shred the content of the object variable and iterate through each of the connection strings. And then Place an Execute SQL task inside ForEach Loop container with the SQL statements we have to run in all the DB instances. 
    For more details, please refer to the following blog:
    http://sql-developers.blogspot.kr/2010/07/dynamic-database-connection-using-ssis.html
    If there are any other questions, please feel free to let me know.
    Regards,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • How to pass dynamic values to JDBC Database adapter in PureSQL operation?

    I want to fetch the records from the table via JDBC database adapter with the criteria but I should not hardcode the values inside my query. I am using Execute by PureSQL operation. Values might change in future and it is the reason I should not hardcode the values and instead I should pass it dynamically.
    This is my query:
    SELECT FROM Table0 t0, Table1 t1 WHERE t0.Field1= 'ABC' AND t0.Field2= 'DEF' AND t0.Field3 = 'CBA' AND t1.FLAG IS NULL AND t1.Field1 = t0.Field4*
    The values 'ABC', 'DEF', 'CBA', 'NULL' are not fixed and it can be changed. Hence, I need to pass the values for these fields dynamically. What must be passed in the query and where to pass the User Defined Values during the run time.
    Please can anyone suggest how to resolve this. I am using SOA 11g.
    Thanks in advance.

    Hi,
    Ensure that you use the Adapter Configuration Wizard to do the query modification suggested by Arik. This will allow the schema for the DB Adapter getting created automatically. Also revisit this schema to assure that the data types of the bind parameters (parameters with #) have been correctly populated in the schema.
    You can get some help from this too although this doesn't fully match your use-case.
    Regards,
    Neeraj Sehgal

  • How to pass dynamic parameter to a database function in OBIEE

    Hi,
    I have a requirement like this. I have to create one report in OBIEE which was in Discoverer. Now in discoverer report there are some calculated item in the worksheet based on database pkg.functions. The parameter which user gives at run time that parameters are then passed to the discoverer calculated items dynamically. But I am not able to do this in OBIEE answers.
    Can anyone tell me step by step how I can able to pass the user selected parameter values in OBIEE answer level.
    The example:
    GET_COMM_VALUE_PTD("AFE Cost & Commitment".Afe Id,:"Period Name(AFE)","AFE Cost & Commitment".Data Sel,"AFE Cost & Commitment".Org Id)
    GET_COMM_VALUE_PTD --- Function database
    ("AFE Cost & Commitment".Afe Id,:"Period Name(AFE)","AFE Cost & Commitment".Data Sel,"AFE Cost & Commitment".Org Id --- Parameters... :"Period Name(AFE)" is the dynamic parameter selected run time by user.
    Please help.
    Thanks
    Titas

    Hi,
    I already did that. But the existing discoverer re value report is showing correct value but the OBIEE report with EVALUATE function shows incorrect value.
    The requirement is to create a OBIEE Dashboard from a Discoverer existing report. Now in discoverer report theere are several calculated items in worksheet level where database custom function is used and user selected parameter value is passed run time in that function. But when that is created in OBIEE with EVALUATE function in RPD, the report shows incorrect data. Could not understand how to pass the parameter value runtime.
    Below is the discoverer 'Show SQL' query and EVALUATE function syntax which has been used.
    SELECT APPS.XXBG_PL_PROJ_ANALYSIS_AFE_PKG.GET_COMM_VALUE_PTD(XXBG_PL_PROJ_AFE_V.AFE_ID,
    :"Period Name(AFE)",
    XXBG_PL_PROJ_AFE_V.DATA_SEL,
    XXBG_PL_PROJ_AFE_V.ORG_ID),
    XXBG_PL_PROJ_AFE_V.AFE_DESC,
    XXBG_PL_PROJ_AFE_V.AFE_NUMBER,
    XXBG_PL_PROJ_AFE_V.APPROVED_AFE_AMOUNT
    FROM APPS.PA_PERIODS_ALL PA_PERIODS_ALL,
    APPS.XXBG_PL_PROJ_AFE_V XXBG_PL_PROJ_AFE_V
    WHERE ((XXBG_PL_PROJ_AFE_V.ORG_ID = PA_PERIODS_ALL.ORG_ID))
    AND (XXBG_PL_PROJ_AFE_V.DATA_SEL = :"Data Selection(AFE)")
    AND (PA_PERIODS_ALL.PERIOD_NAME = :"Period Name(AFE)")
    AND (XXBG_PL_PROJ_AFE_V.AFE_NUMBER = :"AFE Number(AFE)")
    AND (XXBG_PL_PROJ_AFE_V.OPERATING_UNIT = :"Operating Unit(AFE)")
    The EVALUATE function syntax is as below:
    EVALUATE('XXBG_PL_PROJ_ANALYSIS_AFE_PKG.GET_COMM_VALUE_PTD(%1,%2,%3,%4)' AS FLOAT , "BG PL Project Analysis Report_1"."AFE Cost & Commitment"."AFE Cost & Commitment.Afe Id", "BG PL Project Analysis Report_1"."Periods 1"."Periods 1.Period Name", "BG PL Project Analysis Report_1"."AFE Cost & Commitment"."AFE Cost & Commitment.Data Sel", "BG PL Project Analysis Report_1"."AFE Cost & Commitment"."AFE Cost & Commitment.Org Id")
    The PERIOD needs to be passed at run time which user will select.
    Please help to solve the issue.

  • How to pass dynamically table name in my cursor declaration

    Hi:
    I am new. could you please let me know how to pass a table name dynamically in my cursor declaration? for instance I am declaring the following cursor in my pl/sql procedure:
    CURSOR crs_validate IS
    select * FROM <ACT_JUN_2006_LOB>;
    this ACT_JUN_2006_LOB table name, I should able to pass it when I open the cursor ... any help appreciated. thanks.
    srini

    Thanks all for the response. REFCURSOR does work: here is an example ... which I found on-line
    procedure emp_test(
    month varchar2,
    year varchar2)
    is
    type cur_typ is ref cursor;
    c cur_typ;
    query_str varchar2(200);
    emp_number number := 7900;
    salary number;
    name varchar2(30);
    Begin
    query_str := 'Select empno, ename, sal from emp_' || month ||'_'||year
    || ' where empno = :id';
    open c for query_str using emp_number;
    loop
    fetch c into emp_number, name, salary;
    exit when c%notfound;
    dbms_output.put_line(emp_number);
    end loop;
    close c;
    end;

  • How to pass dynamic messages in a program

    Hello Experts,
        Would any one say..In a module pool program..I supose to pass dynamic messages..How can i do..
    Thanks in advance..
    Prashanthi

    Is this what you are looking for ? Re: Call MESSAGE dynamically

  • How to pass dynamic values in standard text......

    Hello,
    I have no idea that how to create the standard text with transaction SO10,and how to pass the dynamic values to that standard text.Will you guide me with step-by-step procedure.
    Thanking you in advance,
    Regards,
    Asmitha.

    Hi,
        Goto SO10 Tcode
    Give :- Text Name:- any Name
               Text Id :- ST
                Language:- required language
    Now the Text which you want to print along with the Dynamic variable,
    Ex:-  Sales order number is &VBAK-VBELN&
    Save and Activate
    above is i have given it VBAK-VBELN, you can give field name which hold dynamic value.
    Now call the above created Standard text in your Form and check it.
    Regards
    Bala Krishna

  • How to Pass Dynamic values to XML in flex

    Hi,
    i just want to pass dynamic values. it must be stored in XML
    List or XML .for Ex: In my App i want to pass
    Edu_Institute,From_date,To_Date,Qualification fileds to
    Education table. I have used Webservices to connect with the
    Backend.
    At that time of processing, i want to pass 2 or more sets of
    Dynamic Values of Edu_Instiute,From_Date,To_Date....... to my
    webservice .
    i fetch the Edu_Institute value from text1.text From_Date
    from Datefield1.text etc... when i click the Add Button it must be
    stored in XMLnode[0],XMLnode[1]......& i will pass this nodes
    to my table
    How to do that??
    Can anyone please find out the solution for me??
    Thanks
    Regards,
    Thenmalar v

    Are you asking how to build XML in Actionscript?
    If so, the "literal" syntax is easy:
    var xmlData:XML = <root><text
    myAttr={test1.text}</root>
    You can also work directly with the XML class methods.
    Tracy

Maybe you are looking for

  • PSE 11 on WIN 8.1

    Ran pse 11 on WIN 7.  Upgraded to 8.1.  Cannot get downloads to open on 8.1.  What is the trick or secret code?

  • QM01 - Quality notification - Multiple Custom subscreens

    Hi,     Please let me know if it is possible to have multiple custom subscreens under one tab for quality notification. We already have one custom subscreen "0101" and requirement is to add one more at the bottom of 7200 screen. Please advise Regards

  • Cash flow report monthly? 2013

    How can i report the tasks' cash flow monthly or daily? I use MsP 2013 professional Thanks very much.

  • CSS Mill for Portlet Border Customizations

    Can someone let me know if this is a bug: I created a new template in <PT_HOME>\ptimages\imageserver\plumtree\common\public\css. All I did was copy and rename one that was already there. I tried using platPortletBorder to set the portlet borders = 0.

  • Dynamic Link

    Hello, I own Adobe Premier CS5, Adobe After Effects CS5, Photoshop CS5 and alla the other sub programs but I don't have Adobe Dynamic Link and I cannot transfere sequences and footages from Premier to After Effects and vice versa. So I want to buy ju