How to pass column name in slect statement in query
hi,
i want to make a report where in query select statement using variable as a column name. but its not working plz guide me how can i do this.
i have created a function which return column name through variable & that variable i want to to use in select statement
select :m1 from table1;
regards
Hi,
Create a user parameter (say P_field), and assign a valid field name as initial value (say NAME), And In the Query, write
SELECT CODE, &P_field FN_FIELD FROM <table_name> WHERE <condition>And in the BEFORE PARAMETER FORM Trigger under the Report Triggers, write,
function BeforePForm return boolean is
begin
:P_field := <your_function_call>;
return (TRUE);
end;And use that FN_FIELD field in the report.
Hope this will clear your issue.
Regards,
Manu.
Similar Messages
-
How to pass column name as a values from one page to another
hi
i have created a report(pivot) from a table
SQL> SELECT * FROM T;
C1 C2 C3 D SEQ
A AA 2 1
A AB 3 2
A AC 2 3
B AB 5 4
B AC 6 5
SQL> SELECT C1
2 ,NVL(MAX(CASE WHEN C2='AA' THEN C3 END),'') AA
3 ,NVL(MAX(CASE WHEN C2='AB' THEN C3 END),'') AB
4 ,NVL(MAX(CASE WHEN C2='AC' THEN C3 END),'') AC
5 ,SUM(C3) FROM T GROUP BY C1;
C1 AA AB AC SUM(C3)
A 2 3 2 7
B 5 6 11
SQL>
my requirement in Apex is like this(reverse)
eg-
when i click on cell values '2' then,it should return
C1 C2 C3 D SEQ
A AA 2 1
{quote}how to pass column name as a values from one page to another
for example i have to pass 'c2' as a value to next page{quote}for report pivot you can reffer below link
Report
Amuthanks for your reply
i 'm doing what exactly you mention here .
my problem here is
i have 15 columns
i am executing a query based on the values of the column(column name) in the target page
1)here i am passing(all) the column values to the next page-but i want to pass only one column values(column name)
when i click on any cell of that column
OR
2)i can pass all column name to target page -there(in the target page) i can filter out
i think option 1 would good if you filter out the unwanted columns
Regards
Amul -
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 patelHello,
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 -
Passing column name dianamically in an insert query
i have a procedure hwre i used an inser query.eg
insert into table (a,b,c) values(...)
i need to pass a,b,c ie column names as parameter.depending upon the condition the column name will change.You don't necessarily need to use dynamic SQL;
create or replace procedure p
p_a number default null,
p_b number default null,
p_c number default null
) is
begin
insert into t
values
(p_a, p_b, p_c);
end;
Procedure createdUsing named notation;
exec p(p_a =>1, p_c => 3);
PL/SQL procedure successfully completed
exec p(p_b =>20, p_c => 30);
PL/SQL procedure successfully completedPassing NULLs;
exec p(4, null, 6);
PL/SQL procedure successfully completed
exec p(40, 50, null);
PL/SQL procedure successfully completed
select * from t;
A B C
1 3
20 30
4 6
40 50 -
Passing Column name(String) in setting CallableStatement
Is it possible to pass Column Name while setting the CallableStatement while using drivers for JDK 1.4, if yes how do I do it.
Thanks!You don't necessarily need to use dynamic SQL;
create or replace procedure p
p_a number default null,
p_b number default null,
p_c number default null
) is
begin
insert into t
values
(p_a, p_b, p_c);
end;
Procedure createdUsing named notation;
exec p(p_a =>1, p_c => 3);
PL/SQL procedure successfully completed
exec p(p_b =>20, p_c => 30);
PL/SQL procedure successfully completedPassing NULLs;
exec p(4, null, 6);
PL/SQL procedure successfully completed
exec p(40, 50, null);
PL/SQL procedure successfully completed
select * from t;
A B C
1 3
20 30
4 6
40 50 -
How to get column names for a specific view in the scheme?
how to get column names for a specific view in the scheme?
TIA
Don't have DD on the wall anymore....or this?
SQL> select text from ALL_VIEWS
2 where VIEW_NAME
3 ='EMP_VIEW';
TEXT
SELECT empno,ename FROM EMP
WHERE empno=10 -
Execute immediate with using clause to pass column name dynamically
Hai,
Is there any way using execute immeidate to pass the column name dynamically. I used to pass the column value as dynamic with the help of "Using clause" . But if i use to pass column name, it is giving numberic error at run time. Eg,. for testing has been given below.
1. Column value as dynamic, which is working correctly.
create or replace function testexeimm (acctnum char)
return number as
acctbal number;
begin
execute immediate 'select balance from acct_master where acct_no=:a' into acctbal using acctnum;
return acctbal;
end;
2. Column name as dynamic which is not working
create or replace function testexeimm (colnam char)
return char as
acctbal char;
begin
execute immediate 'select :a from ch_acct_mast where rownum=1' into acctbal using colnam;
return acctbal;
end;
Any help in this regard will be highly appericated.
Regards
SridharSo the variable has to be numeric too:
create or replace function testexeimm (colnam char)
return number as
acctbal number;
begin
execute immediate 'select '|||colnam||' from ch_acct_mast where rownum=1' into acctbal;
return acctbal;
end;Max
http://oracleitalia.wordpress.com -
Pass column-name as a parameter to reports
Hello,
the code below calls a report. But now I want to sort the rows in the report. For example I have a text-item in my form-modul. If I type a column-name and press the button then the rows should be sorted in the report. Is it possible tp pass column-names as parameter to reports?
DECLARE
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status VARCHAR2(20);
BEGIN
repid := find_report_object('STATIONSTOPOLOGIE');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,RUNTIME);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'html');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'rep_oracle-dev');
-- SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no pdeptno='||:dept.deptno);
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := REPORT_OBJECT_STATUS(v_rep);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
LOOP
rep_status := report_object_status(v_rep);
END LOOP;
IF rep_status = 'FINISHED' THEN
WEB.SHOW_DOCUMENT('http://oracle-dev:8888/reports/rwservlet/getjobid'||
substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=rep_oracle-dev','_blank');
ELSE
message('Error when running report');
END IF;
END;Hi,
the work has been done in reports. You can use a lexical parameter in reports to add a condition for sorting to the query like:
select .. from .. where ... &p_order.
Then add another parameter to the report (for example p_param). Fill p_param via your interface in forms (SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER, ....) with the column name. Then build a report trigger like:
if :p_param is null
then
:p_order:= null;
else
:p_order:= 'order by '||:p_param;
end if;
But have a look, that p_param can only get correct values.
Rainer -
How to get column names in table maintenance dialog?
I created a new Z table and created a maintanance dialog so that I can maintain the table through sm30. i don't see columns names on maintenance screen, just a "+" sign for each column! Could someone please tell me how to display column name?
Thanks.
MithunHello Mithun
The column texts are taken from the field descriptions of the data elements used in your z-table. A "+" sign usually indicates that none of the field descriptions of the data element has been maintained.
Regards
Uwe -
How to pass user name and password in openConnection method ?
Hi, Exports,
I am trying to post data from applet to another application which is
protected by network password.
How to pass user name and password when I use openConnection method? In java
doc, this method looks like do not accept these two parameters.
Thanks
----- my code in applet ---------
URL url = new URL("http://127.0.0.1/xml/index.cfm");
URLConnection connection = url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setUseCaches(false);
connection.setAllowUserInteraction(false);
DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
dos.writeBytes("POST " + path + " HTTP/1.0\r\n");
dos.writeBytes("Referer: http://127.0.0.1/XML/index.cfm\r\n");
dos.writeBytes("Content-Type:
multipart/form-data;boundary=---------------------------7d0b414b04\r\n");
dos.writeBytes("Host: "+host+":"+port+"\r\n");
dos.writeBytes("Content-Length:" + buff.length()+"\r\n");
dos.writeBytes("Connection: Keep-Alive\r\n\n");
dos.writeBytes("-----------------------------7d0b414b04\r\nContent-Dispositi
on: form-data;name=\"xmlDoc\"\r\n\r\n");
dos.writeBytes(buff.toString());
dos.writeBytes("\r\n-----------------------------7d0b414b04--\r\n");
dos.close();
you need to negotiate Authentication in ur applet code...
For example:
If u r using Form based auth u need to send Post a request with j_user_name &
j_password to the action j_security_check. and when server returns back the
cookie
u need to hold it and pass that cookie to the each and every request made to the
protected application.
Basically u need to imitate the browser.
regards
aseem
David wrote:
> Hi, Exports,
>
> I am trying to post data from applet to another application which is
> protected by network password.
> How to pass user name and password when I use openConnection method? In java
> doc, this method looks like do not accept these two parameters.
>
> Thanks
>
> ----- my code in applet ---------
> URL url = new URL("http://127.0.0.1/xml/index.cfm");
> URLConnection connection = url.openConnection();
> connection.setDoInput(true);
> connection.setDoOutput(true);
> connection.setUseCaches(false);
> connection.setAllowUserInteraction(false);
> DataOutputStream dos = new DataOutputStream(connection.getOutputStream());
> dos.writeBytes("POST " + path + " HTTP/1.0\r\n");
> dos.writeBytes("Referer: http://127.0.0.1/XML/index.cfm\r\n");
> dos.writeBytes("Content-Type:
> multipart/form-data;boundary=---------------------------7d0b414b04\r\n");
> dos.writeBytes("Host: "+host+":"+port+"\r\n");
> dos.writeBytes("Content-Length:" + buff.length()+"\r\n");
> dos.writeBytes("Connection: Keep-Alive\r\n\n");
> dos.writeBytes("-----------------------------7d0b414b04\r\nContent-Dispositi
> on: form-data;name=\"xmlDoc\"\r\n\r\n");
> dos.writeBytes(buff.toString());
> dos.writeBytes("\r\n-----------------------------7d0b414b04--\r\n");
> dos.close();
>
> ------------------------------------------
-
How to rename column name of table?
Hello...
How to rename column name of table?
The column have data.
Thanks.
Martonio.The following should work in 9i release 2 and above.
SQL> create table mytable(col1 varchar2(2),
2 col2 date);
Table created.
SQL> insert into mytable values('t1',sysdate);
1 row created.
SQL> select * from mytable;
CO COL2
t1 30-NOV-04
1 row selected.
SQL> desc mytable
Name Null? Type
COL1 VARCHAR2(2)
COL2 DATE
SQL> alter table mytable rename column col2 to mydate;
Table altered.
SQL> desc mytable
Name Null? Type
COL1 VARCHAR2(2)
MYDATE DATE
SQL> select * from mytable;
CO MYDATE
t1 30-NOV-04
1 row selected.
SQL> disconnect
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.3.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.3.0 - Productionhttp://download-west.oracle.com/docs/cd/B10501_01/server.920/a96540/wnsql.htm#972698 -
How to pass column values to narrative view in obiee11g
Hi All,
my report values like this
Month_name value
Jan 100
Feb 500
march 400
April 1000
Now I can display march values in narrative view
Ex:march values is 400.
when i use @1,@2 it will display the Jan values.
And Also i want show the Table view also in same report.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 use column name as variable in select statement
hi,
i want to make a sql query where in select statement using variable as a column name. but its not working plz guide me how can i do this.
select :m1 from table1;
regardsHi,
Is this what you want..
SQL> select &m1 from dept;
Enter value for m1: deptno
old 1: select &m1 from dept
new 1: select deptno from dept
DEPTNO
10
20
30
40
SQL> select &m1 from dept;
Enter value for m1: dname
old 1: select &m1 from dept
new 1: select dname from dept
DNAME
ACCOUNTING
RESEARCH
SALES
OPERATIONS
SQL> select &&m1 from dept;
Enter value for m1: loc
old 1: select &&m1 from dept
new 1: select loc from dept
LOC
NEW YORK
DALLAS
CHICAGO
BOSTON
SQL> select &&m1 from dept;
old 1: select &&m1 from dept
new 1: select loc from dept
LOC
NEW YORK
DALLAS
CHICAGO
BOSTONIf you use single '&' then each time you fire the query, It will ask for the new value..
But if you will use double '&&' the value of m1 will be persistent across the session..
Twinkle -
Passing column names in as a variable
I know in SQL server there is a way you can pass a variable in to the procedure and put that variable as a column name, Oracle doesn't seem to pick the variable up as a column name. Can anyone show me how with a simple select statement
bgulcu wrote:
I'm having a similar problem. I didn't want to open up another thread since it's related.
Problem:
I have 107 columns on a table. The number of columns increases almost every month.
I have an array of columns, which I have gathered from the db. I need to pivot the whole table, but due to indefinite number of columns, it had to be dynamic sql.
Premature Solution:
Right now, the solution that we have runs through the array of columns and uses dynamic sql to query for every single cell to get the value. Considering that we have 1000+ rows on this table, in order to do the transformation, we send 107000+ queries which is just ugly. It works, but I don't feel comfortable about it.
Solution:
Since we are able to get a single row of 107 columns, why don't we gather the whole row, and get the information out from it instead of tiring up the server? The indefinite number of columns is a problem, but we have the whole list in an array, lets say feature_array. So what I want to do is to get the date from the row, ie myRow.feature_array(1), myRow.feature_array(2), ..., myRow.feature_array(i).
I just learned that it's not possible to do it (from this thread).You just misunderstood the contents of this thread. What we said is that you can't do such things with static SQL, so you need to use dynamic sql.
What has also been told was that using dynamic sql for such a purpose is just the result of a bad design. Use a relational table as a bi-dimensional array is not right, it is possible but it's not right for the simple reason that you need a procedural language to process the dynamic SQL that is needed to retrieve data.
Probably on database programming there's only a rule of thumb and it says: "Maximize SQL minimize PL/SQL" (or any procedural language like java). The only exceptions to keep code in procedural language must depend on a complexity reduction determined by its use. In your case there is no complexity reduction determined by the use of a procedural language.
In the thread on this link(Schema integrity I discussed about how to implement a solution you can use as alternative for submitting queries with variable column names.
If you introduce parameter management in your model probably you could have your problem solved with the use of only a single SQL statement. And that may be a good designed model.
Bye Alessandro -
How to pass table name as argument to cursor
please help me how to solve this.
SQL> select c1 from test ;
C1
1
7
18
4
10
28
30
I'm able to execute this.
SQL> get b
1 set serveroutput on size 2000
2 declare
3 cursor c1 is
4 select c1 from test ;
5 begin
6 for rec in c1
7 loop
8 dbms_output.put_line(rec.c1);
9 end loop;
10* end;
SQL> sta b
1
7
18
4
10
28
30
When I change the above cursor to accept the parameter it is not working.
SQL> get c
1 set serveroutput on size 2000
2 declare
3 cursor c1(p_table varchar2) is
4 select c1 from p_table ;
5 begin
6 for rec in c1('test')
7 loop
8 dbms_output.put_line(rec.c1);
9 end loop;
10* end;
ERROR at line 3:
ORA-06550: line 3, column 18:
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 3, column 3:
PL/SQL: SQL Statement ignored
ORA-06550: line 7, column 25:
PLS-00364: loop index variable 'REC' use is invalid
ORA-06550: line 7, column 4:
PL/SQL: Statement ignoredYou cannot use a (bind) variable in SQL for an object name (i.e. a table name, column name, etc).
Why?
The SQL engine needs to parse the SQL. Part of the parse is to resolve the scope to determine what objects are being reference. It needs to check that the column names referred to is indeed in that object. Etc.
Then these objects are used to determine the best execution path to run the SQL. What indexes do the objects have? Is the object a partitioned table and the partition criteria used in the predicate? Etc.
How can the SQL engine perform any of these when you pass it a table name that is a parameter?
The name of an object (such as the table being selected from) must be explicitly stated in a SQL statement. It cannot be variable.
Maybe you are looking for
-
Left joins : Case or if statement
Hi I want to know if one can build in a case or if statement into a left join. I want to multiply a value with -1 if the condition is met.
-
How do I allow multiple formats in a required field?
Hi, In this case I am trying to validate a zip code field to allow U.S., Canada, and UK zip codes. How would I do this? I tried using the attached image, but it gives me an error when I enter a nine-digit U.S. zip code, like 12345-6789. I want
-
I have downloaded Adobe X twice and each time the download appears to be successful. When I try to open Adobe X from desktop I get an error message saying that MAPI32.dll cannot be found. Can anyone explain what is happening?
-
Can I adjust the sorting of Podcast as displayed on the IPOD itself
Itunes by default sorts my podcast with the newest podcast at the top. If I want to redisplay the sorting within iTunes, I just click on the release date column and they re-sort with the oldest at the top. This doesn't change the way they sort in the
-
Hello, Whenever i create a PR directly from work order, can i set it status HELD first? I may want to review the PR before finally saving it. When i create PR from ME51N, i have the option to HOLD the PR before saving it. I don't get this with PR c