RE: what is the main difference between bind parameter and lexical parameter where are they used can anyone please illustrate with example?
Hi
The bind parameter is prefixed with ':' and it is used to accept and refer the value while executing the queries where as lexical parametes (prefixed with '&') are used to build report queries dynamically. Bind parametes can be used in Report and Forms but lexical parameters can be used on reqports only.
RE: what is the main difference between bind parameter and lexical parameter where are they used can anyone please illustrate with example?
Both are used in reports.
Differences between bind and lexical references
Bind references are used to replace a single value in SQL or PL/SQL. Specifically bind references may be used to replace expressions in SELECT WHERE GROUP BY ORDER BY HAVING CONNECT BY and START WITH clauses of queries. Bind references may not be used in a FROM clause. An example is: SELECT ORDID TOTAL FROM ORD WHERE CUSTID :CUST
Lexical references are placeholders for text that you embed in a SELECT statement when you want the parameter to substitute multiple values at runtime. You can use lexical references to replace the clauses appearing after SELECT FROM WHERE GROUP BY ORDER BY HAVING CONNECT BY and START WITH. You cannot make lexical references in PL/SQL. Before you reference a lexical parameter in a query you must have predefined the parameter and given it an initial value. An example is: SELECT ORDID TOTAL FROM &ATABLE
A reference to a parameter used to represent a string of text in a SQL SELECT statement. For a lexical reference you must precede the parameter name with an ampersand (&).
You cannot make lexical references in a PL/SQL statement. You can however use a bind reference in PL/SQL to set the value of a parameter that is then referenced lexically in SQL.
If a column or parameter is used as a lexical reference in a query its data type must be character.