Need a that Table Name in Select command which being used in from statement
My Question Is:
If my SQL command is like this "
Select Code, Name from Customer (Table Name)
Can I get this output in this Way .. ?
Select Code, Name,Customer(Table Name) from Customer (Table Name)
in dynamic way ..
NO. You missing many fundamental concepts of RDBMS. A table is a set of entities, so it's name is plural or collective(unless you really do have only one customer as you said). There is no such thing as a generic "name", or "code" in RDBMS. Those affixes
are called attribute properties, and they have to be part of an attribute data element name -- customer_name, postal_code, etc.
Since a table is a set, its columns are fixed and known in the schema. They do not change by magic! This kind of non-RDBMS thinking is called "Automobiles, Squids and Lady GaGa" coding. Please read any intro book on RDBMS. Your whole mindset is wrong.
--CELKO-- Books in Celko Series for Morgan-Kaufmann Publishing: Analytics and OLAP in SQL / Data and Databases: Concepts in Practice Data / Measurements and Standards in SQL SQL for Smarties / SQL Programming Style / SQL Puzzles and Answers / Thinking
in Sets / Trees and Hierarchies in SQL
Similar Messages
-
How to use bind variable value for table name in select statement.
Hi everyone,
I am having tough time to use value of bind variable for table name in select statement. I tried &p37_table_name. ,
:p37_table_name or v('p37_table_name) but none worked.
Following is the sql for interactive report:
select * from v('p37_table_name') where key_loc = :P37_KEY_LOC and
to_char(inspection_dte,'mm/dd/yyyy') = :P37_INSP_DT AND :p37_column_name is not null ;
I am setting value of p37_table_name in previous page which is atm_state_day_insp.
Following is error msg:
"Query cannot be parsed, please check the syntax of your query. (ORA-00933: SQL command not properly ended) "
Any help would be higly appreciated.
RajInterestingly enough I always had the same impression that you had to use a function to do this but found out from someone else that all you need to do is change the radio button from Use Query-Specific Column Names and Validate Query to Use Generic Column Names (parse query at runtime only). Apex will substitute your bind variable for you at run-time (something you can't normally do in pl/sql without using dynamic sql)
-
How to assign table name for select query in loop.
Hi friends my requirement is count the no of records of all the database table which comes into an internal table ."Check the below coding". Iam fetching the tables from dd03l table into an internal table .plz give me a sujjesion how to assign a table name in select query in a loop.
SELECT tabname FROM dd09l
INTO TABLE i_dd09l
WHERE protokoll = 'X'.
IF sy-subrc = 0.
SORT i_dd09l BY tabname.
ENDIF.
LOOP AT i_dd09l.
SELECT COUNT(*) INTO val FROM i_dd09l-tabname.
IF sy-subrc = 0.
i_dd09l-count = val.
ENDIF.
MODIFY i_dd09l INDEX sy-index.
CLEAR val.
ENDLOOP.
error : 'I_DD09L-TABNAME' is not defined in the abap dictionary as a table.data: dy_table type ref to data,
dy_line type ref to data,
xfc type lvc_s_fcat,
ifc type lvc_t_fcat,
dy_field type ref to data.
LOOP AT i_dd09l.
perform get_structure using i_dd09l-tabname .
CREATE DATA dy_table TYPE TABLE OF (_dd09l-tab_name).
UNASSIGN <dyn_table>.
ASSIGN dy_table->* TO <dyn_table>.
SELECT COUNT(*) INTO val FROM <dyn_table>.
IF sy-subrc = 0.
i_dd09l-count = val.
ENDIF.
MODIFY i_dd09l INDEX sy-index.
CLEAR val.
ENDLOOP.
form get_structure using p_table.
data : idetails type abap_compdescr_tab,
xdetails type abap_compdescr.
data : ref_table_des type ref to cl_abap_structdescr.
Get the structure of the table.
ref_table_des ?=
cl_abap_typedescr=>describe_by_name( p_table ).
idetails = ref_table_des->components.
loop at idetails into xdetails.
clear xfc.
xfc-fieldname = xdetails-name .
xfc-datatype = xdetails-type_kind.
xfc-inttype = xdetails-type_kind.
xfc-intlen = xdetails-length.
xfc-decimals = xdetails-decimals.
append xfc to ifc.
endloop.
endform. "get_structure
Try like this hope it will work.
Regards,
madan. -
Rule 5 :target InfoObject Name Source parameter 007 not being used
Hi Gurus,
I am trying to load data Into BI using flat file .During creating transformations for infocubes am getting this error.Rule 5 :target < InfoObject Name > Source parameter 007 not being used .
ThanksThanks Beekay iyour suggestion helped me .
My problem is solved ,in rule details i removed those fields and again insert those fileds .
Thanks -
Need to include table name,schema name in select output
I need to output the table name and schema name of the current user into a table.. I have tried including
within a select statement..
table_name,
from user_tables
where table_name='mnme';
no rows returnedHi,
Its in upper case 'MNME'
Best.
EA -
Dynamic table name in select statment
hai,
Please help me....
oracle 9i i am using.
i have four tables abc_121,
abc_122,
abc_123,
abc_124.
i want to pick records from a table.table name should be prepared dynamically.
i.e., i want to pick records from a quarter table of this year.(ex: abc_124). using sql statement only.
i have tried..but i couldn't...... pls help me...ramadurga.v wrote:
oracle 9i i am using.
i have four tables abc_121,
abc_122,
abc_123,
abc_124.
i want to pick records from a table.table name should be prepared dynamically.
i.e., i want to pick records from a quarter table of this year.(ex: abc_124). using sql statement only.Create a partition view. E.g.
create or replace view abc as
select * from abc_121
union all
select * from abc_122
union all
...For the partition view approach to correctly work (doing "partition pruning"), you need to have a constraint on the column that identifies that partition.
In other words, you cannot use the table name as an attribute to identifies its data content. Foe example, you can have tables YEAR2001_Q1 and YEAR2001_Q2. However, the year and quarter also need to be in the table itself - e.g. columns YEAR and QUARTER.
For table YEAR2001_Q1, the YEAR column needs to have a check constraint that ensures it is always 2001. And a check constraint for column QUARTER to ensure that it is always 1.
If these conditions are met, then a select from the partition view using +"where YEAR=2001 and QUARTER=2"+ will result in only table YEAR2001_Q2 to be used and not other tables like YEAR2001_Q1.
See {message:id=10539404} for an example. -
How to insert variable for table name in Select statement ?
I am creating a stored procedure which will take two table names as IN parameters. Within the procedures I would like to use the parameters in the following manner;
SELECT count(*)
INTO v_target_cnt
FROM TargetTable;
TargetTable is one of the parameters passed in. When I do this however it does not recognize the parameter. I have tried assigning the parameter to a local variable and using the variable, with not luck.
Any help....thanksNull,
What you are describing is called a LEXICAL parameter, which is allowed (preceded by an ampersand) in sql but not in pl/sql because it would not be possible to compile it. That is why you need to use Andrew's suggestion to make the sql dynamic. In older versions you would need to use DBMS_SQL which is horrible and now thankfully redundant. -
How user variable table names in select statement
Dear all,
I have three table gp1,gp2,g3. i want user variable table in sql query
for example at oracle forms have a list table showing table names gp1,gp2,gp3
at form i want user this query
select gpno from :table where gpno=120;
how i can specify table name Dynamicly in select query
ThanksForms_DDL is a one-way street: You can only pass DDL commands TO the database; you cannot get data back using Forms_DDL.
Exec_SQL is the Forms package that enables dynamic sql within a form. But to retrieve data, you have to make a Exec_SQL call for every column in every row. So it is not a good thing to use, either.
The ref cursor method should work. You could also retrieve the data into a record group using populate_group_with_query -- it also enables dynamic data retrieval.
But if you already know you have three distinct tables and you know their names, I would keep it simple and just write three sql select statements. -
Help needed in making table name and column name dynamic
please check the below query? in the below message
Message was edited by:
460425
Message was edited by:
460425thanks Dmytro,
below is the script i was looking for it got it..any way thanks.
just need to replace dbms_output.put_line with utl_file.put_line
to put the code on server directory.
and execute as and when required.
Reg.
AAK
CREATE OR REPLACE PROCEDURE p_ad_log
IS
CURSOR tbl_cursor IS
SELECT table_name FROM user_tables WHERE table_name IN('EMP','EMP1') ;
CURSOR col_cursor( cp_table_name varchar2) IS
SELECT column_name FROM user_tab_columns WHERE table_name=cp_table_name;
--v_file_handle utl_file.file_type;
--v_file_dir varchar2(30) := 'DIRECTORY PATH' ';
--v_file_name varchar2(30) := 'AD_TRIGGER_TEXT.TXT';
tbl_cursor_value tbl_cursor%ROWTYPE;
col_cursor_value col_cursor%ROWTYPE;
v_string varchar2(4000);
v_string_val varchar2(4000);
BEGIN
DELETE audit_triggers_status;
COMMIT;
--v_file_handle := utl_file.fopen(v_file_dir,v_file_name,'W',32000);
OPEN tbl_cursor;
LOOP
FETCH tbl_cursor into tbl_cursor_value;
EXIT WHEN tbl_cursor%NOTFOUND;
OPEN col_cursor(tbl_cursor_value.table_name);
DBMS_OUTPUT.PUT_LINE( 'CREATE OR REPLACE TRIGGER' ||' ad_'||tbl_cursor_value.table_name); -- short name for audit trigger coz table name will be appended to it and result should not exceed 30 char
DBMS_OUTPUT.PUT_LINE( 'BEFORE INSERT OR UPDATE OR DELETE ON '||tbl_cursor_value.table_name);
DBMS_OUTPUT.PUT_LINE( 'FOR EACH ROW');
DBMS_OUTPUT.PUT_LINE( 'BEGIN');
v_string:='INSERT INTO'||' ad_'||tbl_cursor_value.table_name||'(';
v_string_val:='values(';
INSERT INTO audit_triggers_status( table_name,trigger_name,audit_flag) VALUES (tbl_cursor_value.table_name,' ad_'||tbl_cursor_value.table_name,'Y');
LOOP
FETCH col_cursor into col_cursor_value;
EXIT WHEN col_cursor%NOTFOUND;
v_string:=v_string||col_cursor_value.column_name||',';
v_string_val:=v_string_val||':new.'||col_cursor_value.column_name||',';
END LOOP;
CLOSE COL_CURSOR;
v_string:=substr(v_string,1,length(v_string)-1);
v_string_val:=substr(v_string_val,1,length(v_string_val)-1);
v_string:=v_string||') ';
v_string_val:=v_string_val||');';
--DBMS_OUTPUT.PUT_LINE(v_string||v_string_val);
DBMS_OUTPUT.PUT_LINE('IF INSERTING THEN');
DBMS_OUTPUT.PUT_LINE(' '||v_string||v_string_val);
DBMS_OUTPUT.PUT_LINE('END IF;');
DBMS_OUTPUT.PUT_LINE('IF UPDATING THEN');
DBMS_OUTPUT.PUT_LINE(' '||v_string||v_string_val);
DBMS_OUTPUT.PUT_LINE('END IF;');
DBMS_OUTPUT.PUT_LINE('IF DELETING THEN');
--DBMS_OUTPUT.PUT_LINE(' '||v_string||REPLACE(v_string_val,':new.',':old.');
V_STRING_VAL:=REPLACE(v_string_val,':new.',':old.');
DBMS_OUTPUT.PUT_LINE(' '||v_string||v_string_val);
DBMS_OUTPUT.PUT_LINE('END IF;');
DBMS_OUTPUT.PUT_LINE('END '||' ad_'||tbl_cursor_value.table_name||';');
DBMS_OUTPUT.PUT_LINE(' ');
END LOOP;
CLOSE TBL_CURSOR;
COMMIT;
END; -
Dynamically assigning table name in select statement
how can i assign the table name dynamically in Select statement?
i tried following code
create or replace procedure proc1
as
x varchar2(100);
y varchar2(10);
begin
x='UNIT_MASTER';
execute immediate 'select unit_code into y from x where
rownum=1';
dbms_output.put_line(y);
end;
the procedure is created but when i execute the procedure the
error is shown in the execute immediate statementDo the following :
Create or replace procedure pro1 as
x varchar2(100);
y varchar2(10);
begin
x := 'UNIT_MASTER';
EXECUTE IMMEDIATE 'select unit_code from '||x||' where rownum
= 1' INTO y;
dbms_output.put_line(y); -
Procedure needed to input table name
i want a procedure where i would enter the table name and an attribute as input parameters.
The procedure will find whether the entered attribute is primary key or not
Please help meHi,
Try this :
SQL> create table test (col1 number primary key, col2 number);
Table created.
SQL> create or replace function is_pk (tb_name varchar2, col_name varchar2)
return varchar2 is
var_is_pk varchar2(5);
begin
begin
select 'PK'
into var_is_pk
from user_cons_columns a, user_constraints b
where a.OWNER=b.OWNER
and a.CONSTRAINT_NAME=b.CONSTRAINT_NAME
and a.TABLE_NAME=b.TABLE_NAME
and a.TABLE_NAME=upper(tb_name)
and a.COLUMN_NAME=upper(col_name)
and b.constraint_type='P';
exception when others then var_is_pk:='NO_PK';
end;
return var_is_pk;
end;
Function created.
SQL> select is_pk('test','col1'), is_pk('test','col2') from dual;
IS_PK('TEST','COL1') IS_PK('TEST','COL2')
PK NO_PKHTH,
Nicolas.
I'm sorry Maarten, my network is catastrophic this morning... so I didn't see your post before post mine.
Message was edited by:
N. Gasparotto -
Table names to get list of characteristics used in Query
Hello,
I am trying to get separate list of characteristics & key figures used in query. i want that particular table which will give me the list of characteristics. & other table which will give me list of key figures used in that query. I want these characteristics & keyfigures specifically used in query.I don't want the global list dependant on infoprovider but dependant on query like (ZSJM_ZSD_C05_Q001).
Can anybody help in getting the table names?
Thanks in advance.Hi Deepak,
You need to go to RSRREPDIR - to get the GUID of the query.
Then you can work your way through RS* X *REF (type in this name in SE11/SE16 and press F4 ) table to find the query elements.
There is also a text table where you can read the component names... but dont have the system at hand, hence cant furnish you that info... I think, it may be RSZELTTXT.
Also in my opinion the best way to get this information is from metadata repository view in admin workbench.(RSA1). Keep drilling down from the query to its characteristics.. you shall get what you need.
Also you may use transport connection to display the elements of the query. Just go to the transport connection , in the object list, choose the required query and and transfer it to the collector area. Diplay the elements as a list... you shall then find all your query elements...
You may not need to traverse through the tables to retrieve this information.
Hope it helps,
Best regards,
Sunmit. -
Hello Expert,
I wanted to know is there any way through which we can dynamically pass the table name in IMPORT condition.
For e.g.
DATA : PCLT TYPE DD03L-TABNAME.
DATA: SET_RELID TYPE T52RELID-RELID.
DATA: key TYPE PCLKEY.
DATA: text_version TYPE PVRSN.
DATA: BEGIN OF ptext OCCURS 132.
DATA: line(132).
DATA: END OF ptext.
SET_RELID = 'TX'.
PCLT = 'PCL1'.
KEY = '00001000004005 9999123119960101000'.
TEXT_VERSION = '01'.
IMPORT TEXT_VERSION PTEXT FROM DATABASE <PCLT>(<SET_RELID>) ID KEY.
If i use this then it gives me error message "The Dictionary structure or table "<PCLT>" is either not active or does not exist."
Kindly help me in this matter.
Thanks
SrikanthHi Srikanth
I dont know if there is another solution, but this is what i did using a dynamic subroutine, please check it
just add this lines to your code
DATA: prog TYPE c LENGTH 8,
mess TYPE string,
sid TYPE string,
wrd TYPE string,
dir TYPE trdir,
OFF(3).
DATA: lt_code TYPE TABLE OF rssource-line.
DATA: ls_code TYPE rssource-line.
perform call_import using pclt set_relid key.
form call_import USING p_pclt p_set_relid p_key.
ls_code = 'PROGRAM SUBPOOL.'.
append ls_code to lt_code.
ls_code = 'form get_text tables ptext using p_key changing text_version.'.
append ls_code to lt_code.
ls_code = 'IMPORT text_version ptext from database'.
append ls_code to lt_code.
concatenate p_pclt '(' p_set_relid ')' into ls_code.
append ls_code to lt_code.
ls_code = 'id p_key.'.
append ls_code to lt_code.
ls_code = 'endform.'.
append ls_code to lt_code.
generate subroutine pool lt_code
name prog
message mess
SHORTDUMP-ID sid
WORD WRD
OFFSET OFF.
IF SY-SUBRC EQ 0.
perform GET_TEXT IN PROGRAM (prog) tables ptext
USING p_key
CHANGING text_version .
ENDIF.
endform.
Hope this help
Regards
MC -
I don't need to know the name of the next song being played.
Just wondering if anyone has a solutiom to this. Let's say you're listening to a song that's at the beginning of your main library in iTunes and you scroll down the list to look at other songs you have. How do you stop the screen from going back to the beginning of the list when a new song starts just so it can show you the name of the new song being played? This is a bit irritating when you're making playlists and you have a large library and you have to keep scrolling back to where you left off just because a new song started.
G5 Imac 2 GHz 512 MB Mac OS X (10.4.5) </<br>
G5 Imac 2 GHz 512 MB Mac OS X (10.4.5)I don't think there's any way to do that except pausing the song. I, too, think it's irritating. Especially when the song is shown in the display (if activated), anyway. I usually try to hit the spacebar quickly when I hear the song ending. Sorry, I can't help.
-
I have created a java app and deployed in ToolsAndFramework of endeca and since that app can be accessed through a directl url so want to implement an security filter which will use the same user validation as is used in experience manager.
Sorry to hear that, but this forum is for us, users, and what you need is someone from Xperia Care to find your motherboard and send it back, I don't think it'll be possible to retrieve any data from a broken motherboard.
"I'd rather be hated for who I am, than loved for who I am not." Kurt Cobain (1967-1994)
Maybe you are looking for
-
Checking for a file in a dir + all subdir's
i'm checking if a file exists in C:/, and all sub directories of C:/. It's easy enough to scan for it in the parent directory, but how would i go about checking all the sub directories also? I couldn't get a system of using the boolean isDirectory wo
-
why is itunes makeing me pay to redownloade music and apps?, why is itunes makeing me pay to redownloade music and apps?, why is itunes makeing me pay to redownloade music and apps?
-
Pentax Lens Model Data in Aperture
I have finally figured out how to get Aperture to display Lens Model EXIF data for Pentax cameras. The problem is that Aperture is looking for that date in one specific field, but Pentax stores it in another. The solution is rather like what we did b
-
hi i am new to forum and java I am going to buy bluetooth usb dongle .I want to know that by having 2 dongles can I run my java socket programs to transfer data's or files between two PC's .is there anything like java supported bluetooth usb dongle i
-
I've built a test webservices with NetBeans 5.0 on Sun AS8.2, and the ws works fine from Java clients and Windows client (developed in Delphi). When I register the WebServices WSDL in APEX the wizard works and the registration procedure go to end wit