bind variables and expression evaluation

Hi friends,

I was looking at a query that uses a bad plan. DB is 11.2.0.3 with active user bind peeking. It is a simplified version showing the problem:

Select egp.bsn

, egp.klantnummer as 'Persoonsnummer '.

, egp.samengesteldenaam as 'Samengesteldenaam '.

, egp.geboortedatum as 'Geboortedatum.

of pr_eigenschappen2 egp

where

(egp.bsn =: b1 or: b2 is null)

and rownum < 51

EGP. BSN is varchar2 (10) and has a high selectivity (almost unique) and is indexed btree. table and index have adequate statistics.

When it is run with b1: = 928818 and b2: = 928818 (linked both as varchar2 (10)) a full table scan + filter is used on pr_eigenschappen2.

If the query is changed to

Select egp.bsn

, egp.klantnummer as 'Persoonsnummer '.

, egp.samengesteldenaam as 'Samengesteldenaam '.

, egp.geboortedatum as 'Geboortedatum.

of pr_eigenschappen2 egp

where

(= egp.bsn: b1 or 928818 a null value)

and rownum < 51


the index on the bsn is used, and the query does not 3.9 seconds but 1 millisecond.


If I had a choice, the query would be different. I don't want to talk about the reason for the request, I would like to know why the optimizer does not use the index in the first case.



Jan-marten,

as Hoek wrote: "the optimizer must take into account the fact that the bind peut var be null, and then a full crawl is required...". ». For the bsn = part: b1 a systematic index scan range would be a good idea, but for: b1 is null, there is only one relevant case producing a result: NULL IS NULL and this condition the CBO only a full table scan or a full scan of the index taking into account (after all a complete analysis of the index may also be called 'index range scan across the table' - but that would be contrary to the 'Beach' in its name).

By the way: I think that the trick of gather_plan_statistics is not very useful in the test case since you do not use display_cursor with allstats format. He might even have a negative impact on performance since statistical rowsource are quite expensive - depending on the timing of your OS routine. I think that Mr. Lewis has written something on this effect, in his notebook.

Concerning

Martin

Tags: Database

Similar Questions

  • bind variables and dynamic sql

    Hi all

    Here's my situation:

    I have a query with 2 bind variable: the FROM clause also uses a variable binding!

    PROCEDURE describe_columns(p_curr_tablename VARCHAR(50), p_curr_intentseq NUMBER)
       IS
          l_cur     INTEGER;
          l_query   VARCHAR (100);
       BEGIN
          l_query :=
             'select * from :table_name where ibmsnap_intentseq = :sequencenr';
          l_cur := DBMS_SQL.OPEN_CURSOR;
          DBMS_OUTPUT.PUT_LINE (p_curr_tablename);
          DBMS_OUTPUT.PUT_LINE (p_curr_intentseq);
          DBMS_OUTPUT.PUT_LINE (l_query);
          DBMS_SQL.PARSE (l_cur, l_query, DBMS_SQL.V7);
          DBMS_SQL.bind_variable (l_cur, ':table_name', p_curr_tablename);
          DBMS_SQL.bind_variable (l_cur, ':sequencenr', p_curr_intentseq);
          DBMS_SQL.DESCRIBE_COLUMNS (l_cur, g_count, g_desc_tab);
          DBMS_SQL.CLOSE_CURSOR (l_cur);
       EXCEPTION
          WHEN OTHERS
          THEN
             DBMS_OUTPUT.put_line ('DF-EXCEPTION: ' || SQLERRM);
             DBMS_OUTPUT.put_line (
                'DF-EXCEPTION: ' || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE
             );
    
             IF DBMS_SQL.IS_OPEN (l_cur)
             THEN
                DBMS_SQL.CLOSE_CURSOR (l_cur);
             END IF;
       --         RAISE;
       END;
    and the output is:
    CD_B136V4_NEW
    16
     select * from :table_name where ibmsnap_intentseq = :intentseq
    DF-EXCEPTION: ORA-00903: invalid table name
    DF-EXCEPTION: ORA-06512: in "SYS.DBMS_SYS_SQL", line 906
    So is the problem that I want to use a variable binding for the name of the table?

    I'd appreciate any help!
    Thank you!

    http://asktom.Oracle.com/pls/asktom/f?p=100:11:0:P11_QUESTION_ID:227413938857

    Identifiers cannot be used as variable bind - never. Identifiers must be "hard-coded".
    in the query.

    I can't put in a link for "emp" variable because I can't use a string
    constant for emp.

    The reason is quite simple - a bind variable query is parsed and optimized once
    variables are evaluated before linking. If I could code:

    Select * from: bind_x

    the optimzer would not have an idea of what will come with, security (access rights)
    could be evaluated and so on. We could not develop a plan for this query - not
    enough information. Therefore, no variable bind for identifiers.

  • EO base extension VO with bind variables and display - How To link

    Hello

    I extended an APInvDistAllVO view object by adding two fields which are functions. Basically, in the invoice approval screen, I want to add two fields where the distribution of the invoice is shown.

    The SQL contained in jdeveloper when you extend the VO object is different from the query, what I see in the invoice approval page by clicking on the APInvDistAllVO link. There are two bind variable: 1 = invoice_id and: 2 = line_number being added dynamically. After the extension of the view object, the invoice distribution line is displayed as no record found.

    In my opinion, it is due to not having bind variables does not correct parameters being passed, and under this point of view object is an object depending on the invoice header record. There is a link to the original View object as well. Will be very grateful if someone can provide the way forward in dealing with this situation.

    Rgds Fahad

    Hi AJ

    He worked after changing the style of bind.

    Thank you very much.

    Rgds

    Fahad

  • Bind variables and dates

    I am writing a process to delete records based on dates.

    Here is the chart:

    Column name Data type Nullable Default Primary key
    IDNUMBERNO.-1
    CT_NAMEVARCHAR2 (100)Yes--
    CT_CATEGORYVARCHAR2 (100)Yes--
    BASE_PTSNUMBERYes--
    PROD_PTSNUMBERYes--
    REF_PTSNUMBERYes--
    START_DATEDATEYes--
    END_DATEDATEYes--
    CREATED_ONDATEYes--
    CREATED_BYVARCHAR2 (50)Yes--
    UPDATED_ONDATEYes--
    UPDATED_BYVARCHAR2 (50)Yes--

    start_date and end_date are the fields of date key.

    The query will remove the dates with specific start and end dates.  The question I have, is that I get a ORA-01858: a non-digit character was found here where was waiting for a digital error while the query is running.

    remove from ct_point_values

    where start_date =: P4_START_DATE_V

    and end_date =: P4_END_DATE_V

    If I run the query in the sql window, no problem:

    remove from ct_point_values

    where start_date =' 01 / 01/2014 '

    and end_date = 31 December 2014"

    Find the query with the works of values hard-coded.  Links to fail.  I tried casting and to_char to_date variations with no luck.

    One thing that I notice, is that when I go to enter my bind variables in the sql workshop, the fields are pre-populated with this:

    1 & amp; #x2F 1 & amp; #x2F; 2014

    12 & amp; #x2F 31 & amp; #x2F; 2014

    01/01/2014 and 31/12/2014.  I found that the only element relates to this suggests that this is a possible bug:

    SQL Bind Variables workshop - Date issues

    Any thoughts on how to address this issue, or is it really a bug?

    I run on Apex 4.2, 11g.

    Thank you!

    Hello

    I guess that these dates come from elements on the page to which the user can select a range of dates.

    These fields have a custom format mask?

    What seems to be the case for me, is that these fields have an explicit format mask (for example: DD/MM/YYYY) but the default database/session format mask is something different (e.g. DD-MON-YYYY).

    I suppose also that the issue in the SQL workshop isn't something related.

  • Bind Variables and using the keyword

    In my dynamic SQL, I use the same variable in several places in my query. Is there a way to avoid rewriting the same value multiple times in the list of arguments to bind? It is something like that - only pseudo code.
    DECLARE
    tSQL VARCHAR2(99)
    pVal INT := 2;
    
    BEGIN
    tSQL := 
               'SELECT * ' ||
               '  FROM dual ' ||
               ' WHERE col1 =: iVal ' ||
               '   AND col2 IN (SELECT col2 ' ||
               '                  FROM dual  ' ||
               '                 WHERE col1 =: iVal) ' ||
               ' UNION ' ||
               ' SELECT * ' ||
               '   FROM dual ' ||
               '  WHERE col1 =: iVal';
    
    EXECUTE IMMEDIATE tSQL 
    USING pVal, pVal, pVal;  -- Is there a way to avoid having to rewrite the same bind variable argument three times since the value is the same?
    
    END;
    Is there a way to avoid having to rewrite the same argument three times bind variable as the value is the same?

    Etbin wrote:
    http://docs.Oracle.com/CD/E11882_01/AppDev.112/e25519/dynamic.htm#BHCHIHEJ says:
    Placeholders are associated with bind variable in the USING clause of position, and not by name.

    Concerning

    Etbin

    The exception to this rule is if the SQL statement is an anonymous block or a call statement. In this case, the repetition of the names of the placeholder is significant.

    http://docs.Oracle.com/CD/E11882_01/AppDev.112/e25519/dynamic.htm#CHDFHEAG

    For example, the following will fail with ORA-01008: not all variables

    declare
     v_cnt number;
    begin
      execute immediate 'select count(*) from dual where 1 = :B1 and 2 > :B1'
      into v_cnt using 1;
      dbms_output.put_line(v_cnt);
    end;
    

    However, the following will succeed because the SQL code is in fact an anonymous block:

    begin
      execute immediate 'declare
                           v_cnt number;
                         begin
                           select count(*)
                           into v_cnt
                           from dual
                           where 1 = :B1 and 2 > :B1;
                           dbms_output.put_line(v_cnt);
                         end;'
      using 1;
    end;
    

    Pretty cool stuff.

  • bind variables and v$ sqlarea

    Hello

    How to distinguish the variable bind to static expression
    in v$ sqlarea? Is this possible?
    Please explain

    Best regards
    Paul

    Hello

    You acknowledge that bind variable by ':' in front, you cannot merge with literals.

    Best regards
    Nikolai

  • Ask about bind variables and LOVs

    Hello
    I'm new to ADF. Last day, I learned about LOVS, see criteria and bind variables. Now, I tried to develop a sample application. I created a few EOs, village and an AM.
    I also defined a view criteria which takes as a parameter a variable binding and rule the condition when running. Then, I created a group of query based on my view criteria. In this query Panel, when I enter the name of a student in a box (which is related to the binding variable that I guess), the student information is displayed in a table. Now, instead of an entry box, I want a list of choices based on a LOV-driven model that will contain all the names of students available. Is this possible in ADF 11 g?

    Thanks in advance

    You must open the VO, you use, go to the view whole section and in the view whole section go in the attributes section.

    In attributes, select the attribute by which you are to the search or make your operation, click on the button add to the list of values: the name of the attribute

    Select the vo object to fill the value.

    You will get the data in the variable binding, that you created in the view criteria.

    Reporter, you can follow the bolg

    http://saumoinak.blogspot.com/2011/02/showing-data-based-on-list-of-values.html

  • Cursors for parent and child, bind variable and library cache

    I was going through the documentation to understand the difference between the parent and the child cursors. Surprisingly, there's not too much help for this. I was able to collect the following information about this

    For each statement SQL cache library contains a cursor "parent" for the text of the SQL statement. The parent cursor is composed of a "handle" that can be searched by the hash value via the library cache hash table and an «object' which contains pointers to each of its «child» cursors Each cursor of the child is also composed of a handle and an object. The child object is composed of two segments numbered from 0 to 6. Lot 0 contains all the credentials for a particular version of the SQL statement and lot 6 contains the execution plan. This distinction between parent and child cursors is maintained even when there is only one version of each SQL statement.

    Lets say that 2 LMD were fired with the same set of variables bind (names of variables were same but differed from the value.) The only difference between the 2 LMD was the value of the variable binding) and under the same conditions of load.

    These DML 2 would be a sliders 2 children of one parent only cursors.

    Please tell me detailed documentation on the subject, so my question is too elementary

    Kind regards
    Vishal

    I'm not sure how useful jumping in stuff like bunch 0 and 6 bunch is in terms of understanding what is a parent and what is a child cursor.
    This quote seems to come from Steve Adams - http://www.ixora.com.au/q+a/0104/19005414.htm
    It's a good idea to cite your references.

    I'll give it a go.

    A cursor is a lot of information stored in memory on a SQL statement.

    The basic information for a parent cursor is the text of the SQL statement - exact matches of the statement can only share the parent cursor.

    The cursor of the child is really on the implementation plan specific for a statement and the different settings and parameters that caused this plan to be generated.

    There are a whole bunch of reasons why the executions of the same SQL statement may or may not reuse the existing child cursors.

    In your example 2 statements that differ by the variable binding are likely to lead to different children, although there are factors that can lead to lie different values, do not share the same children among whom for example, the length of the dregs, Adaptive setting cursor_sharing = similar and histograms, or new features like cursor sharing (on subsequent runs of renowned sql running suboptimal initially).

    It might be useful to see V$ SQL_SHARED_CURSOR. This shows the disparities that cause children to not be shared. There are more than 60 columns in this view which gives an indication of the number of factors that can influence.
    http://download.Oracle.com/docs/CD/E11882_01/server.112/e17110/dynviews_3059.htm#REFRN30254

    You might want to look here the criteria for sharing SQL:
    http://download.Oracle.com/docs/CD/E11882_01/server.112/e16638/memory.htm#i40017

    Away from the main documentation, perhaps some of the writings of the optimizer Development Group could help?
    http://blogs.Oracle.com/mt/mt-search.cgi?blog_id=3361&tag=cursor%20sharing&limit=20

    Christian Antognini described this area very well in the "Oracle Performance Troubleshooting Guide".

    Published by: Dom Brooks on February 24, 2011 16:45

  • Problem with bind variable and as operator usage

    Hi all

    I use JDeveloper Version - 11.1.2.4.39.64.36.1 .


    While implementing the search functionality in the hierarchical Viewer, I created a link in the underlying t variable, created to find, due east of the request-


    SELECT XxamAnkitObjects.ID,

    XxamAnkitObjects.OBJECT_NAME,

    XxamAnkitObjects.OBJECT_TYPE,

    XxamAnkitObjects.PARENT,

    XxamAnkitObjects.PARENT_ID,

    XxamAnkitObjects.PARENT_TYPE

    OF XXAM_ANKIT_OBJECTS XxamAnkitObjects

    WHERE object_name like ' %: o_name ".

    What I'm trying to accomplish here, it is that the input provided by the user in the search box must match with the object_name in the table.

    During execution, I met the following error (from newspapers WLS)-

    < QueryCollection > < buildResultSet > [598] java.sql.SQLException: try to set a parameter name that does not intervene in the SQL: o_name

    at oracle.jdbc.driver.OraclePreparedStatement.setNullAtName(OraclePreparedStatement.java:5384)

    at oracle.jdbc.driver.OraclePreparedStatementWrapper.setNullAtName(OraclePreparedStatementWrapper.java:1451)

    The following query has been generated during the operation of a research-

    < ViewObjectImpl > < buildQuery > [593] SELECT XxamAnkitObjects.ID, XxamAnkitObjects.OBJECT_NAME, XxamAnkitObjects.OBJECT_TYPE, XxamAnkitObjects.PARENT, XxamAnkitObjects.PARENT_ID, XxamAnkitObjects.PARENT_TYPE XXAM_ANKIT_OBJECTS XxamAnkitObjects WHERE object_name like ' %: o_name ".

    < ViewObjectImpl > < bindParametersForCollection > [594] params for ViewObject Bind: [model.vo.ObjectNameSearch] AppModule.ObjectNameSearch1

    Advice kindly the way ahead.

    Best regards

    Ankit Gupta

    The problem is that you used quotes around the variable binding. Try

    SELECT XxamAnkitObjects.ID,
           XxamAnkitObjects.OBJECT_NAME,
           XxamAnkitObjects.OBJECT_TYPE,
           XxamAnkitObjects.PARENT,
           XxamAnkitObjects.PARENT_ID,
           XxamAnkitObjects.PARENT_TYPE
    FROM XXAM_ANKIT_OBJECTS XxamAnkitObjects
    WHERE object_name like '%' || :o_name || '%'
    

    A note: this type of query will do a full table scan, as the searches with wildcards to the left cannot use a regular index. If you have multiple lines, this will impact on the research persormance hughe!

    Timo

  • printing problem in pdf and csv using bind variables

    Hello

    I created a simple sql statement using a query and bind variables. I noticed when I remove the bind variables and hardcode the values that the CSV/PDF links work. When I handed the return variables in the query, the WB shows "no data found" and pdf shows only the column header.

    If anyone can help me, I would be very happy!


    Thank you
    Ayed P.

    Hello

    How are set the bind variable? If there are topics evaluated by default on the elements of the page, so is not necessarily enough to ensure that the exports are their values. To set values, I tend to use calculations, conditional that the element is null, what works "Before Header". In this way, the value is stored in the session and is available for export. I think the defaults to be those that are defined when the page is submitted and are not available until now.

    Andy

  • See criteria and bind variables

    Greetings experts,

    I use JDev, version: 11.1.2.3.0

    Recently, I came across this situation. I created a variable binding (in VO), which is used inside a criterion for the VO even. This criterion to display is called within a method that is declared within a class of java of implementation of AppModule (which is exposed on the Client Instance), and through a managed bean I supply the parameter required to initialize the variable binding (and then get the results). This works fine, and the page that uses the domain controller for this appmodule runs without error.

    The point is that I have the same VO, used inside an another appModule (and another page uses, it's DC). I need to use this variable binding in this case, but if I click edit on this VO second, inside the second presentation of appModule interface, I can see that the criteria for the view, is in the "Available" tab, but in the section 'Setting bind' it shows the binding variable said first.

    I am as a matter of fact, receiving and error on this second page if I do some operations, saying this:

    Caused by: java.sql.SQLException: try to set a parameter name that does not intervene in the SQL: partyNum

    at oracle.jdbc.driver.OraclePreparedStatement.setNullAtName(OraclePreparedStatement.java:5384)

    at oracle.jdbc.driver.OraclePreparedStatementWrapper.setNullAtName(OraclePreparedStatementWrapper.java:1451)

    at oracle.jbo.server.OracleSQLBuilderImpl.bindParamValue(OracleSQLBuilderImpl.java:4695)

    at oracle.jbo.server.BaseSQLBuilderImpl.bindParametersForStmt(BaseSQLBuilderImpl.java:3673)

    at oracle.jbo.server.ViewObjectImpl.bindParametersForCollection(ViewObjectImpl.java:21459)

    at oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:1197)

    SQL error in the preparation of the statement.  Instruction: SELECT PartiesContracts.CONTRACT_IDCONTRACT, PartiesContracts.PARTY_TYPE, PartiesContracts.PARTY_NUM, PartiesContracts.ROLE PARTIES_CONTRACTS PartiesContracts WHERE PartiesContracts.CONTRACT_IDCONTRACT =: Bind_Idcontract

    (The binding variable is called, partyNum)

    My question is, can I do to avoid using this variable to link on the second page of appModule only? It seems to be called always regardless the fact if I call the appropriate support bean method that triggers the initialization process.

    Thank you for your time.

    Have you defined the binding variable 'partyNum' as requires it? In this case, you need to specify every time. You can set the variable as not mandatory and it might work.

    The solution would be to set another VO with the same base, without the "partyNum" bind variable and VC and use in the other AM.

    Timo

  • Performance tests: bind variables

    When you write a SQL for the application, I want to do some performance testing of SQL before providing to JAVA developers. I understand that I need to test using bind variables, can someone guide me how do? What are the best tools out there to achieve? Please provide some guidance. Thank you!

    Rinne says:
    I read more about bind variable and I can test the use of bind variables. I understand that testing SQL using bind variables is a closer representation of the real world. Even when queries have large tables, the performance would be similar if I run the query using literals twice (to avoid hard analysis) compared to tests with bind variables? I am trying to understand more thoroughly the need for tests with bind variables. Why we take more time than the other? Thank you!

    The main thing is that the opimizer will / can do if bind variables different optimization techniques are used or not.
    There are two contradictory effects its regarding the binding settings.

    Effect 1: Reuse of cursor
    If the same is done again and again and again. Maybe different sessions. Then using binding settings is essential. Why? Because the same cursor can be reused, which saves a lot of time for analysis. This occurs mainly in OLTP systems. The idea behind this is that to do the same action, just for a different ID (ID in order for example) will result in an identical implementation plan.

    The result: Faster analysis time and less consumption of memory, because the same cursor can be resused between different sessions.

    Effect 2: Correct assumptions

    According to a filter expression, some using the value of the OBC will make an assumption based on statistical data the number of rows is returned because of this expression and the value.
    Speculation between a literal value and a bound value may be different. In many cases exist technical opimization (bind peeking etc.) to the same literal conjecture binded proposal.

    But there are exceptions, for example a condition such as the following will result in different estimates

    column between 10 and 20
    
    column between :P1 and :P2
    

    There are as well other effects.

    Result: The CBO can make assumptions better if literals. But most of the cases the proposal is identical.

    Conclusion: Literal values are useful if you do large queries where the output size depends strongly on the parameters provided, and where you run that very few of these (OLAP) queries.
    Binding settings are usfull when the same execution (OLTP) need a grand plan number of queries.

  • Need help with Bind variable in AF LOV query

    Hello

    I have a problem with the binding variable, if I use bind variable in the VO LOV query then my result does not come, if he has do not bind variable it works fine and if I use the variable binding in the LOV search option then it works fine but if I hide the bind variable and set the value in the prepareSesstion AM method the LOV does not return any value. I try to return the values that also all values are also coming, but these values are not the attribute query AF setting.

    Query is:

    Select substr(d.description,0,40) description
    cm_system_users has
    b cm_user_responsibilities,
    cm_responsibility_processes c,
    cm_processes d
    where a.nt_login =: B_NT_LOGIN
    and a.user_id = b.user_id
    and trunc (sysdate) between b.eff_date and nvl (b.exp_date, sysdate + 1)
    and b.RESPONSIBILITY_ID = c.RESPONSIBILITY_ID
    and c.process_type = d.process_type
    and d.enabled_flag = 'Y' order of d.arguments_flag

    FOLLOW the method:

    CmProcessViewImpl vo = getCmProcessView();
    String nt_login = getUserPrincipalName();
    vo.setNamedWhereClauseParam ("B_NT_LOGIN", nt_login.toUpperCase ());
    vo.executeQuery ();

    Can someone help me with this. It is urgent for me.

    It's a bit underdescribed. IIUC, the purpose of the notice is used as a target for a correct view accessor? (Otherwise, you will have to be more explicit about what you mean by "LOV query".

    If I'm right, there are two possibilities:

    (1) you use an instance of VO in a module shared application instance. If so, make sure that your code is in the prepareSession() for the class of application that module if it is dependent on session (as seems to be below), you must make sure that the module of the application instance is shared in the session scope.
    (2) you have based the view accessor directly on the definition of the VO. This creates an anonymous instance of VO; I don't think there is a way to use prepareSession() to set a variable of liaison on such a forum (which will not be created until the accessor is first used). Pourriez be able to shoot with to put a similar code in the view object create() method class, but I've not tested this.

    If your code is in your module class application primary (as opposed to the class for a shared of AOS instance), the problem here is that getCmProcessView() returns the instance of VO data module of this application instance design-time model, which is never used by accessors of the view.

    Also, why do you need to do this in prepareSession() rather than at the level of the accessor to view? I believe you can get the user name (for the view accessor) with the groovy expression

    viewObject.DBTransaction.session.userPrincipalName

    or maybe just

    DBTransaction.session.userPrincipalName

    (despite this DBTransaction involving, it returns the username web app, not the DB user name).

    It is a declarative 100% solution, if you don't count the Groovy expression as not declarative.

    If you are afraid of a user who is running the LOV (somehow) before the value of the bind variable is preparing, just make sure that the binding variable is marked "required."

  • Bind Variables in SPARQL queries

    Hello

    I am interested in bind variable and use between requests, but if I understand the concept that underlies the example given in the documentation (http://docs.oracle.com/cd/E11882_01/appdev.112/e25609/sem_jena.htm#autoId15) I'm not able to grasp how exactly to the results of a query_1 for a ? x variable to another query_2query.

    Would it not possible to provide a more detailed explanation and a simple code working on how to do it using Jena Adapater.

    Thank you.

    Sorry for the late reply. Was tied up with a date limit.

    Here is a complete example.

    (1) assumes a model with the following triplets

    % test/forum2550843.nt cat

    .

    .

      .

    .

    .

    (2) run the following query to obtain the values of bind and internal ID resources

    % Cat./tests/forum2550843.sparql1

    PREFIX oext: http://oracle.com/semtech/jena-adaptor/ext/function#>

    Select? x (oext:build - uri-for-id(?x) as? xid)

    where {? y ? x}

    Here is a possible answer to the query above.

    soln (? xid = <> 6354524810780932050>) (? x = )

    (3) to say we want to push the values to bind to? x from the above query in

    "SELECT? topic? "x WHERE {? subject? x}"

    We can build and run the following query:

    % Cat./tests/forum2550843.sparql2

    PREFIX ORACLE_SEM_FS_NS: http://oracle.com/semtech#no_fall_back>

    PREFIX ORACLE_SEM_UEAP_NS: http://oracle.com/semtech#x$ RDFVID % 20 in(?) >

    PREFIX ORACLE_SEM_UEPJ_NS: http://oracle.com/semtech#x $RDFVID>

    PREFIX ORACLE_SEM_UEBV_NS: http://oracle.com/semtech#6354524810780932050>

    SELECT? topic? x

    WHERE {}

    ? topic ? x

    }

    Here are the answers:

    soln (? x = ) (? subject = )

    soln (? x = ) (? subject = )

    It will be useful,

    Zhe Wu

  • Problem with Bind variable cannot be changed.

    Hi all
    I use Jdev 11.1.2.3.0. In my VO, I created a Bind Variable and set it NOT UPDATABLE. Then, I created a display with some other Variables Bind criterion.
    I use this criterion to display on a search page, but when running, I see also an inpunt for the defined variable NOT UPDATABLE text and I can't change its value.
    Of course, if I try to change the value, and I do research, I get an error.

    It is the source of the VO:

    < variable
    Name = "UlssVar".
    Type = "where".
    Type = "Java.lang.String"
    IsUpdateable = "false" >
    < TransientExpression > <! [CDATA [adf.context.current.sessionScope.get ('ulss')]] > < / TransientExpression >
    < / variable >

    Is this a bug of the ADF?
    I thank in advance.

    Hello

    try selecting the variable binding and open the property inspector, under the guidance of the user interface, set the flag of 'view' to hide. This should hide it (no bug for this reason)

    Frank

Maybe you are looking for