DEQUEUE_MSGID column in a queue table
There are three msgid-related columns in a queue table:
MSGID, CORRID, DEQUEUE_MSGID
I know the meaning of the columns MSGID and CORRID. But what is the column DEQUEUE_MSGID for?
There are three msgid-related columns in a queue table:
MSGID, CORRID, DEQUEUE_MSGID
I know the meaning of the columns MSGID and CORRID. But what is the column DEQUEUE_MSGID for?
Similar Messages
-
Adding ne w column to advnaced queue
hi everybody,
I wanted to add new column to advanced queue already in production, is it advisable? and if yes how can I do it?
thanks in advanceHello
There is no way to add a column to a queue table. Eventhough you can perform an ALTER TABLE statement and add a column to a queue table it is never supported and could result in unexpected behaviors.
When you enqueue a message you have the option to use "user_property" for having the additional data if needed. Take a look at the below:
DBMS_AQ.ENQUEUE (
message_properties IN message_properties_t,
payload IN "<ADT_1>",
TYPE message_properties_t IS RECORD (
user_property SYS.ANYDATA DEFAULT NULL
Or you can even have your payload contain the additional column and you populate this during enqueue via a an AQ transformation. The application can track the message based on either the user_property or by referring to the additional column in the payload (USER_DATA column in queue table).
These are the supported methods. If you still need to have a column then you would need to maintain a seperate table with the message id as the key column and required additional column so that each message can be referred correctly.
Thanks,
Rijesh -
ORA-22913 while creating a QUEUE TABLE of a "Typed type"
Hi guys:
I'm trying to recreate an [AskTom's post|http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:8760267539329], but with a single difference. My Oracle Type contains a field that is another Oracle Type and when I try to create a QUEUE_TABLE, I got the ORA-22913.
Here are my steps:
create or replace TYPE PODTL_TYPE AS OBJECT
item varchar2(25),
ref_item varchar2(25),
physical_location_type varchar2(1),
physical_location number(10),
physical_qty_ordered number(12,4),
unit_cost number(20,4),
origin_country_id varchar2(3),
supp_pack_size number(12,4),
earliest_ship_date date,
latest_ship_date date,
pickup_loc varchar2(250),
pickup_no varchar2(25),
packing_method varchar2(6),
round_lvl varchar2(6),
door_ind varchar2(1),
priority_level number(1),
new_item varchar2(1),
quarantine varchar2(1),
rcvd_unit_qty number(12,4),
tsf_po_link_id number(10),
cost_source varchar2(4),
est_in_stock_date date
create or replace TYPE PODtl_coll as table of PODTL_TYPE;
create or replace TYPE PODesc AS OBJECT
doc_type varchar2(1),
order_no varchar2(10),
order_type varchar2(9),
order_type_desc varchar2(250),
dept number(4),
dept_name varchar2(120),
buyer number(4),
buyer_name varchar2(120),
supplier varchar2(10),
promotion number(10),
prom_desc varchar2(160),
qc_ind varchar2(1),
not_before_date date,
not_after_date date,
otb_eow_date date,
earliest_ship_date date,
latest_ship_date date,
close_date date,
terms varchar2(15),
terms_code varchar2(50),
freight_terms varchar2(30),
cust_order varchar2(1),
payment_method varchar2(6),
payment_method_desc varchar2(40),
backhaul_type varchar2(6),
backhaul_type_desc varchar2(40),
backhaul_allowance number(20,4),
ship_method varchar2(6),
ship_method_desc varchar2(40),
purchase_type varchar2(6),
purchase_type_desc varchar2(40),
status varchar2(1),
ship_pay_method varchar2(2),
ship_pay_method_desc varchar2(40),
fob_trans_res varchar2(2),
fob_trans_res_code_desc varchar2(40),
fob_trans_res_desc varchar2(250),
fob_title_pass varchar2(2),
fob_title_pass_code_desc varchar2(40),
fob_title_pass_desc varchar2(250),
vendor_order_no varchar2(15),
exchange_rate number(20,10),
factory varchar2(10),
factory_desc varchar2(240),
agent varchar2(10),
agent_desc varchar2(240),
discharge_port varchar2(5),
discharge_port_desc varchar2(150),
lading_port varchar2(5),
lading_port_desc varchar2(150),
bill_to_id varchar2(5),
freight_contract_no varchar2(10),
po_type varchar2(4),
po_type_desc varchar2(120),
pre_mark_ind varchar2(1),
currency_code varchar2(3),
contract_no number(6),
pickup_loc varchar2(250),
pickup_no varchar2(25),
pickup_date date,
app_datetime date,
comment_desc varchar2(2000),
PODtl PODtl_coll
These are my 3 Oracle types. When I try to create the QUEUE TABLE:
DBMS_AQADM.CREATE_QUEUE_TABLE(
Queue_table => 'PODESC_QUEUE_TABLE',
Queue_payload_type => 'PODesc',
Multiple_consumers => TRUE);
END;
I got the following error:
22913. 00000 - "must specify table name for nested table column or attribute"
*Cause: The storage clause is not specified for a nested table column
or attribute.
*Action: Specify the nested table storage clause for the nested table
column or attribute.
How can I solve this?Here is the syntax used by Oracle in one of their internal tables.
orabase> select dbms_metadata.get_ddl('TABLE', 'ORDERS_QUEUETABLE', 'IX') from dual;
DBMS_METADATA.GET_DDL('TABLE','ORDERS_QUEUETABLE','IX')
CREATE TABLE "IX"."ORDERS_QUEUETABLE"
( "Q_NAME" VARCHAR2(30),
"MSGID" RAW(16),
"CORRID" VARCHAR2(128),
"PRIORITY" NUMBER,
"STATE" NUMBER,
"DELAY" TIMESTAMP (6),
"EXPIRATION" NUMBER,
"TIME_MANAGER_INFO" TIMESTAMP (6),
"LOCAL_ORDER_NO" NUMBER,
"CHAIN_NO" NUMBER,
"CSCN" NUMBER,
"DSCN" NUMBER,
"ENQ_TIME" TIMESTAMP (6),
"ENQ_UID" VARCHAR2(30),
"ENQ_TID" VARCHAR2(30),
"DEQ_TIME" TIMESTAMP (6),
"DEQ_UID" VARCHAR2(30),
"DEQ_TID" VARCHAR2(30),
"RETRY_COUNT" NUMBER,
"EXCEPTION_QSCHEMA" VARCHAR2(30),
"EXCEPTION_QUEUE" VARCHAR2(30),
"STEP_NO" NUMBER,
"RECIPIENT_KEY" NUMBER,
"DEQUEUE_MSGID" RAW(16),
"SENDER_NAME" VARCHAR2(30),
"SENDER_ADDRESS" VARCHAR2(1024),
"SENDER_PROTOCOL" NUMBER,
"USER_DATA" "IX"."ORDER_EVENT_TYP" , <---------------------- seems analogous to what you are trying to do
"USER_PROP" "SYS"."ANYDATA" ,
PRIMARY KEY ("MSGID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS NOLOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "EXAMPLE" ENABLE
) USAGE QUEUE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS NOLOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "EXAMPLE"
OPAQUE TYPE "USER_PROP" STORE AS BASICFILE LOB (
ENABLE STORAGE IN ROW CHUNK 8192 RETENTION
CACHE
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))Spend some time looking in directories under $ORACLE_HOME and you may well find the DDL that built it. -
HI All,
We create a brand new oracle multi-consumer queue. We have en-queued the messages into the queue and are processed successfully.
But when we checked the STATE Column of the messages in the queue table it was showing as "0". But it is showing as "PROCESSED" in the
AQ$<QUEUE_TABLE> msg_state column.
We are unable to figure out why there is a mismatch. Can any one help us ?
Regards,
Hari P.Hello,
the column value AQ$<QUEUE_TABLE>.MSG_STATE = 'PROCESSED' corresponds to column value <QUEUE_TABLE>.STATE = 2
(see definition of view AQ$<QUEUE_TABLE for the DECODE statement).
In your case you see a value of STATE = 0 instead of STATE = 2. Is this correct ? The value 0 corresponds to a state "READY" (the delay
is gone and the message is ready for dequeuing).
The AQ documentation says: "After the specified delay, the message is in the READY state and available for dequeuing."
Normally, you cannot see the processed data in your AQ because the enqueued data will be deleted after
successful dequeuing. You wrote that they were processed successfully.
Kind regards,
WoG -
Select from a queue table with SYS.AQ$_JMS_MAP_MESSAGE type
We are using the SYS.AQ$_JMS_MAP_MESSAGE type for our queue so that we can access the queue using plsql as well as java (via jms). The queue table that gets created contains a column user_data that is of the above type. This type has two columns BYTES_RAW and BYTES_LOB which I assume contains the data. Is there a way in sql (or in plsql) to get access to the data. Also, we are retaining the messages after they have been consumed (from an audit standpoint) and might need access to the data.
Thank you
Navinyes, i understand how to describe something...
my question is how to get a list of properties.
this data type has get functions that take the name of a property. now how do i know that property name to get it? -
Queue Table = Queue Mapping
As i understand it, having a queue table of same object type as the queue gives benefit of message peeking, better auditing & debugging capabilities. Does this mean if i modify the object type to add/drop a column, i need to drop/recreate the queue table ?
Other approach could be to use RAW or XMLTYPE as payload. Here many queues could map to one queue table.
What are key design criterion or pros/cons in choosing one of these approaches ? Any guidelines or best practices in this regard ?As i understand it, having a queue table of same object type as the queue gives benefit of message peeking, better auditing & debugging capabilities. Does this mean if i modify the object type to add/drop a column, i need to drop/recreate the queue table ?Yes, this would mean you have to drop/recreate the queue
Other approach could be to use RAW or XMLTYPE as payload. Here many queues could map to one queue table. RAW queues - you cannot specify rules/conditions on the message content
XMLTYpe queues - this will solve the problems you listed above. However, in 9.0 - you have to create an ADT with an embedded XMLType to use these.
In 9.2 - you can create the queue table with SYS.XMLTYPE payload -
Queue Table with Nested Objects
I need to create a queue table based on nested object
These are my declarations
TYPE TESTATATYPE AS OBJECT (
CODICE VARCHAR2(5),
DESCRIZIONE VARCHAR2(30)
TYPE DETTAGLIOTYPE AS OBJECT (
CODICE VARCHAR2(5),
DESCRIZIONE VARCHAR2(30),
VALORE NUMBER
TYPE DETTAGLITYPE IS TABLE OF DETTAGLIOTYPE
TYPE MESSAGGIOTYPE AS OBJECT (
TESTATA TESTATATYPE,
DETTAGLI DETTAGLITYPE
Now i'm trying to create queue table
DBMS_AQADM.CREATE_QUEUE_TABLE(queue_table => 'MsgQTab',
queue_payload_type => 'MessaggioType',
storage_clause => 'NESTED TABLE
dettagli STORE AS dettagli_tab_Q',
sort_list => 'priority,enq_time'
but I get
ORA-00904: invalid column name
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 2012
ORA-06512: at "SYS.DBMS_AQADM", line 55
ORA-06512: at line 3
maybe the problem is storage clause, can you help me ?
nullAndrea,
You cannot currently use a nested table even as an embedded object within a message payload.
However, you can create an object type that contains one or more VARRAYs, and create a queue table that is founded on this object type. I guess this might be the problem you are facing. -
hi
I am tryin to drop a schema devj2ee with the following command:
SQL> drop user devj2ee cascade;
drop user devj2ee cascade
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables
Now if try to see which queue tables exist for devj2ee it returns no rows.
SQL> select count(*) FROM DBA_QUEUE_TABLES WHERE owner ='DEVJ2EE';
COUNT(*)
0
The DBA_QUEUE_TABLES has all the sys/system queue tables as find below;
select owner, queue_table from dba_queue_tables;
OWNER QUEUE_TABLE
SYS ALERT_QT
SYS AQ$_MEM_MC
SYS AQ_EVENT_TABLE
SYS AQ_SRVNTFN_TABLE
SYS KUPC$DATAPUMP_QUETAB
SYS SCHEDULER$_EVENT_QTAB
SYS SCHEDULER$_JOBQTAB
SYS SYS$SERVICE_METRICS_TAB
SYSMAN MGMT_NOTIFY_QTABLE
SYSTEM DEF$_AQCALL
SYSTEM DEF$_AQERROR
11 rows selected.
Please advice how to remove the user DEVJ2EE.
My db is 10gR2 on solaris10 box.SQL> select object_name,object_type from dba_objects where owner='DEVJ2EE' and object_name like '%AQ%';
OBJECT_NAME OBJECT_TYPE
CMN_AQ_MESSAGE_TYPE TYPE
DLS_AQ_QUEUE TABLE
Now if I try to drop this table i get the following error:
SQL> begin
2 DBMS_AQADM.DROP_QUEUE_TABLE('DLS_AQ_QUEUE');
3 end;
4 /
DBMS_AQADM.DROP_QUEUE_TABLE('DLS_AQ_QUEUE');
ERROR at line 2:
ORA-06550: line 2, column 1:
PLS-00201: identifier 'DBMS_AQADM' must be declared
ORA-06550: line 2, column 1:
PL/SQL: Statement ignored
SQL> EXECUTE DBMS_AQADM.DROP_QUEUE_TABLE (queue_table => 'DLS_AQ_QUEUE');
BEGIN DBMS_AQADM.DROP_QUEUE_TABLE (queue_table => 'DLS_AQ_QUEUE'); END;
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00201: identifier 'DBMS_AQADM' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
So, i thought this is a privelege issue.
SQL> conn sys@dbklsdev as sysdba
Enter password:
Connected.
SQL> begin
2 DBMS_AQADM.DROP_QUEUE_TABLE('DEVJ2EE.DLS_AQ_QUEUE');
3 end;
4 /
begin
ERROR at line 1:
ORA-24002: QUEUE_TABLE DEVJ2EE.DLS_AQ_QUEUE does not exist
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 4084
ORA-06512: at "SYS.DBMS_AQADM", line 197
ORA-06512: at line 2
Alternatively, I tried granting privs to devj2ee and tried to drop the table from this user but the result was same.
SQL> GRANT RESOURCE TO devj2ee;
GRANT CONNECT TO devj2ee;
GRANT EXECUTE ANY PROCEDURE TO devj2ee;
GRANT aq_administrator_role TO devj2ee;
GRANT aq_user_role TO devj2ee;
GRANT EXECUTE ON dbms_aqadm TO devj2ee;
GRANT EXECUTE ON dbms_aq TO devj2ee;
GRANT EXECUTE ON dbms_aqin TO devj2ee;
Grant succeeded.
SQL>
Grant succeeded.
SQL>
Grant succeeded.
SQL>
Grant succeeded.
SQL>
Grant succeeded.
SQL>
Grant succeeded.
SQL>
Grant succeeded.
SQL>
Grant succeeded.
SQL> conn devj2ee/devj2ee@dbklsdev
Connected.
SQL> begin
2 DBMS_AQADM.DROP_QUEUE_TABLE('DLS_AQ_QUEUE');
3 end;
4 /
begin
ERROR at line 1:
ORA-24002: QUEUE_TABLE DEVJ2EE.DLS_AQ_QUEUE does not exist
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 4084
ORA-06512: at "SYS.DBMS_AQADM", line 197
ORA-06512: at line 2
At this point I tried the same old query again to find out if the queue table really exist:
SQL> select object_name,object_type from user_objects where object_name like '%AQ%';
OBJECT_NAME OBJECT_TYPE
CMN_AQ_MESSAGE_TYPE TYPE
DLS_AQ_QUEUE TABLE
I hope you have any further tricks to try on this. -
Error while dropping/creating new queue table
Hi,
I am trying to modify an existing AQ setup. In the process, I had to remove a queue and redirect all its subscriptions to another queue.
I get an oracle "sequence does not exist" while trying to drop the queue table. The sequence of operations that I am carrying out is:
disable propagation schedule
unschedule propagation
stop queue
drop queue
drop queue table
The error occurs when the drop statement is executed.
I tried restoring the existing configuration, but got the same error message while trying to add a subscription.
Could you help me with this problem? What am I missing here?
Thanks,
AnupamaIn what version of Oracle?
I see a couple of problems assuming you are working with a currently supported version:
1. Never grant CONNECT to anyone: Ever. Grant CREATE SESSION.
2. GRANT CREATE TABLE to AQ;
Go to Morgan's Library at www.psoug.org and look at AQ Demo 1. You should have no problem cutting and pasting your way to where you are trying to go. -
How to find the number of columns in an internal table DYNAMICALLY ?
Hi,
How to find the number of columns in an internal table DYNAMICALLY ?
Thanks and Regards,
saleem.Hi,
you can find the number of columns and their order using
the <b>'REUSE_ALV_FIELDCATALOG_MERGE'</b>
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = sy-repid
I_INTERNAL_TABNAME = 'ITAB'
I_INCLNAME = sy-repid
changing
ct_fieldcat = IT_FIELDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
if sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif
now describe your fieldcat . and find no of columns.
and their order also..
regards
vijay -
Find duplication values from multiple columns in a big table
Hi All,
I am working on a 11gR2 database in linux. i want to display record that have duplicate values in 2 columns.
1. Table Structure :-
CREATE TABLE A
ID NUMBER(10),
F_NAME VARCHAR2(100 BYTE),
L_NAME VARCHAR2(100 BYTE)
2. Sample Data:-
Insert into A
(ID, F_NAME, L_NAME) Values (1,'TONY' ,'SUMIT');
Insert into A
(ID, F_NAME, L_NAME) Values (2,'SUMIT' ,'KEITH');
Insert into A
(ID, F_NAME, L_NAME) Values (3,'NORA','SMITH');
Insert into A
(ID, F_NAME, L_NAME) Values (4,'APRIL','TONY');
Insert into A
(ID, F_NAME, L_NAME) Values (5,'ROSS','TAM');
ID F_NAME L_NAME
1 TONY SUMIT
2 SUMIT KEITH
3 NORA SMITH
4 APRIL TONY
5 ROSS TAM
4. My requirement is i need display IDs that it's F_NAME or L_NAME has duplication in F_NAME or L_NAME columns.
The result should be
ID
1 reason: F_NAME (TONY) equals to L_NAME of record 4, L_NAME (SUMIT) equals to F_NAME of record 2
2 reason: F_NAME (SUMIT) equals to L_NAME of record 1
4 reason: L_NAME (TONY) equals to F_NAME of record 1
record 3, 5 aren't in the result because there is no duplication in F_NAME or L_NAME columns for NORA,SMITH, ROSS, TAM
The table contains 10 million records, i really need to consider the performance.
kindly suggest me the solutionNote: Forum members please suggest better approach to this -- below.. convert into SQL :)
I know I will be opposed by many people in this forum for posting such in-efficient solution.
But trying to learn along with you.. its an interesting problem which must deal with all rows vs all rows to get all combinations.
But I am still thinking how to write it in SQL, probably will learn from this post after we receive some good SQL solution for the code what I am currently doing now.
step 1: created a table B similar to table A and added a column reason
CREATE TABLE B
ID NUMBER(10),
F_NAME VARCHAR2(100 BYTE),
L_NAME VARCHAR2(100 BYTE),
REASON VARCHAR2(1000 BYTE) --- ADDED THIS
)Definetely inefficient :(
BEGIN
FOR rec_outer IN (SELECT * FROM A) LOOP
FOR rec_inner IN (SELECT * FROM A) LOOP
IF (rec_outer.f_name = rec_inner.l_name) THEN
UPDATE B
SET reason =
rec_outer.id
|| ' reason: F_NAME ('
|| rec_outer.f_name
|| ') equals to L_NAME of record '
|| rec_inner.id
WHERE b.id = rec_outer.id;
END IF;
END LOOP;
FOR rec_inner IN (SELECT * FROM A) LOOP
IF (rec_outer.l_name = rec_inner.f_name) THEN
UPDATE B
SET reason =
reason
|| CASE
WHEN reason IS NULL THEN
rec_outer.id || ' reason: '
ELSE
END
|| 'L_NAME ('
|| rec_inner.f_name
|| ') equals to F_NAME of record '
|| rec_inner.id
WHERE b.id = rec_outer.id;
END IF;
END LOOP;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
rollback;
RAISE;
END;OUTPUT:
ID F_NAME L_NAME REASON
1 TONY SUMIT 1 reason: F_NAME (TONY) equals to L_NAME of record 4,L_NAME (SUMIT) equals to F_NAME of record 2
2 SUMIT KEITH 2 reason: F_NAME (SUMIT) equals to L_NAME of record 1
3 NORA SMITH
4 APRIL TONY 4 reason: L_NAME (TONY) equals to F_NAME of record 1
5 ROSS TAM Cheers,
Manik.
Edited : Added rollback -
Problem with Queue Table while dropping schema
Hi,
I want to DROP a schema, but it gives the following error while trying to drop it:
ORA-00604: error occurred at recursive SQL level 1
ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables
From TOAD, I found that no queue or queue_table exists in the database presently.
I'm using 10.2.0.2 RAC database.
Can anyone help me to drop the schema?
Thanks in advance..
Regards,
AnjanI have followed the doc 203225.1..
Now getting the following error:
ORA-00081: address range [0x60000000000A89A0, 0x60000000000A89A4) is not readable
ORA-00600: internal error code, arguments: [kzdukl3], [24], [], [], [], [], [], [] -
How to rename a column name in a table? Thanks first!
I tried to drop a column age from table student by writing the
following in the sql plus environment as :
SQL> alter table student drop column age ;
but I found the following error
ORA-00905: 缺少关键字 (Lack of Key word)
I have oracle enterprise edition 8.0.5 installed at windows 2000
thank you
And I want to know how to rename a column name in a table?
thanksIn Oracle 8i, your syntax would have worked. However, if I
recall correctly, in Oracle 8.0, you can't rename or drop a
column directly. One way to get around that problem is to
create another table based on a select statement from your
original table, providing the new column name as an alias if you
want to change the column name, or omitting that column from the
select statement if you just want to drop it. Then drop the
original table. Then re-create the original table based on a
select statement from the other table. Then you can drop the
other table. Here is an example:
CREATE TABLE temporary_table_name
AS
SELECT age AS new_column_name,
other_columns
FROM student
DROP TABLE student
CREATE TABLE student
AS
SELECT *
FROM temporary_table_name
DROP TABLE temporary_table_name
Something that you need to consider before doing this is
dependencies. You need to make a list of all your dependecies
before you do this, so that you can re-create them afterwards.
If there are a lot of them, it might be worthwhile to do
something else, like creating a view with an alias for the
column or just providing an alias in a select. It depends on
what you need the different column name for. -
How to select even the column names of a table?
Hello All,
Is there a way to select even the column names of a table in the select statement?
My select from a table (say X) is in a SQL* Plus script that gets invoked by application tier and displays data in the application tier window. User's can then copy the data into a spreadsheet and do their processing. However, I need to give them the column names too along with the data.
Thanks,
ChiruIf there is a middle tier that is selecting and
displaying the data, and that's what the users are
copying from, the middle tier would have to address
its presentation of the data to allow users to
include column names. If this is a common task, the
application should probably be modified to give users
the option of downloading the data in a spreadsheet
directly rather than forcing them to copy and paste
data.Thanks for the reply.
The users don't have to copy paste. The application tier has an options in the "Tools" menu item which allows them to copy the entire output to a file (in my case a txt file which is a pipe delimited). Then they have to do text to columns to get the data into each column of the spreadsheet. I could have directly called the stored procedures from the application tier and created ".csv" files and FTP'd them to the user's folders. However, I am having to go this round about because, I am not getting enough support from the LAN team in FTP'ing etc.
OK I'll think of another workaround.
Thanks,
Chiru -
How to show next set of columns in a adf table
hi,
i want to display 999 no of columns in a adf table. since it is not a better way to show all the columns in the adf table at a time, we want to show 10 columns at first and by using the next and previous links the user can see the next and previous set of columns. i dont know how to do this. please help me.
parameswaranYou have to put table name in Capital letters
Like
SELECT COUNT(1)
FROM user_tab_columns
WHERE table_name = 'EMP';
or
SELECT COUNT(1)
FROM user_tab_columns
WHERE table_name = UPPER('Emp');Regards
Arun
Maybe you are looking for
-
Image processing from .txt file onto an intensity graph
I am doing a mini project in my class and I was wondering if anyone could help me. It about image processing but I am bit stuck. Heres the idea: "An image is really nothing more than a 2D array of data. The value of every element in the array corresp
-
A305-s6860 not starting up error? windows installation
My laptop worked last night at 10pm, it didn't work this morning at 9am. When i started it up i got an error message. windows failed to start. i need the windows installation disk to repair my computer i can't find the disk also i do not want to wait
-
Sample Javadoc comments for classes or methods using generics?
Can anyone show me a sample Javadoc comment for a class or a method that uses generics. All my attempts so far ended up in warnings from the Javadoc tool.. I also looked in the Sun forums, in the Javadoc documentation, but nowhere could I find anythi
-
Address Book - email address option in new cards
I see categories for address, work phne, etc. But i do not see any option for a email address. I have created it in the custom option and replaced a currect choice but I cannot believe it does not come with a email address section to just fill in the
-
Where can I find the font files on my computer?
I am looking to find where my font files are so that I can use my own fonts for an animation in Blender