How to extract .csv for each table
Hi All,
I have a query:
select distinct 'SELECT * FROM BILL_M.'|| TABLE_NAME||';' from all_tab_columns t
where t.owner = 'BILL_M'
and table_name like '%DICT'
The query return 80 table s...How can I extract these 80 table to 80 csvs?
ANy help is appreciated.
Regards.
Just an example as a starting point...
As sys user:
CREATE OR REPLACE DIRECTORY TEST_DIR AS '\tmp\myfiles'
GRANT READ, WRITE ON DIRECTORY TEST_DIR TO myuser
/As myuser:
CREATE OR REPLACE PROCEDURE run_query(p_sql IN VARCHAR2
,p_dir IN VARCHAR2
,p_header_file IN VARCHAR2
,p_data_file IN VARCHAR2 := NULL) IS
v_finaltxt VARCHAR2(4000);
v_v_val VARCHAR2(4000);
v_n_val NUMBER;
v_d_val DATE;
v_ret NUMBER;
c NUMBER;
d NUMBER;
col_cnt INTEGER;
f BOOLEAN;
rec_tab DBMS_SQL.DESC_TAB;
col_num NUMBER;
v_fh UTL_FILE.FILE_TYPE;
v_samefile BOOLEAN := (NVL(p_data_file,p_header_file) = p_header_file);
BEGIN
c := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(c, p_sql, DBMS_SQL.NATIVE);
d := DBMS_SQL.EXECUTE(c);
DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
FOR j in 1..col_cnt
LOOP
CASE rec_tab(j).col_type
WHEN 1 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
WHEN 2 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_n_val);
WHEN 12 THEN DBMS_SQL.DEFINE_COLUMN(c,j,v_d_val);
ELSE
DBMS_SQL.DEFINE_COLUMN(c,j,v_v_val,2000);
END CASE;
END LOOP;
-- This part outputs the HEADER
v_fh := UTL_FILE.FOPEN(upper(p_dir),p_header_file,'w',32767);
FOR j in 1..col_cnt
LOOP
v_finaltxt := ltrim(v_finaltxt||','||lower(rec_tab(j).col_name),',');
END LOOP;
-- DBMS_OUTPUT.PUT_LINE(v_finaltxt);
UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
IF NOT v_samefile THEN
UTL_FILE.FCLOSE(v_fh);
END IF;
-- This part outputs the DATA
IF NOT v_samefile THEN
v_fh := UTL_FILE.FOPEN(upper(p_dir),p_data_file,'w',32767);
END IF;
LOOP
v_ret := DBMS_SQL.FETCH_ROWS(c);
EXIT WHEN v_ret = 0;
v_finaltxt := NULL;
FOR j in 1..col_cnt
LOOP
CASE rec_tab(j).col_type
WHEN 1 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_v_val);
v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
WHEN 2 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_n_val);
v_finaltxt := ltrim(v_finaltxt||','||v_n_val,',');
WHEN 12 THEN DBMS_SQL.COLUMN_VALUE(c,j,v_d_val);
v_finaltxt := ltrim(v_finaltxt||','||to_char(v_d_val,'DD/MM/YYYY HH24:MI:SS'),',');
ELSE
DBMS_SQL.COLUMN_VALUE(c,j,v_v_val);
v_finaltxt := ltrim(v_finaltxt||',"'||v_v_val||'"',',');
END CASE;
END LOOP;
-- DBMS_OUTPUT.PUT_LINE(v_finaltxt);
UTL_FILE.PUT_LINE(v_fh, v_finaltxt);
END LOOP;
UTL_FILE.FCLOSE(v_fh);
DBMS_SQL.CLOSE_CURSOR(c);
END;This allows for the header row and the data to be written to seperate files if required.
e.g.
SQL> exec run_query('select * from emp','TEST_DIR','output.txt');
PL/SQL procedure successfully completed.Output.txt file contains:
empno,ename,job,mgr,hiredate,sal,comm,deptno
7369,"SMITH","CLERK",7902,17/12/1980 00:00:00,800,,20
7499,"ALLEN","SALESMAN",7698,20/02/1981 00:00:00,1600,300,30
7521,"WARD","SALESMAN",7698,22/02/1981 00:00:00,1250,500,30
7566,"JONES","MANAGER",7839,02/04/1981 00:00:00,2975,,20
7654,"MARTIN","SALESMAN",7698,28/09/1981 00:00:00,1250,1400,30
7698,"BLAKE","MANAGER",7839,01/05/1981 00:00:00,2850,,30
7782,"CLARK","MANAGER",7839,09/06/1981 00:00:00,2450,,10
7788,"SCOTT","ANALYST",7566,19/04/1987 00:00:00,3000,,20
7839,"KING","PRESIDENT",,17/11/1981 00:00:00,5000,,10
7844,"TURNER","SALESMAN",7698,08/09/1981 00:00:00,1500,0,30
7876,"ADAMS","CLERK",7788,23/05/1987 00:00:00,1100,,20
7900,"JAMES","CLERK",7698,03/12/1981 00:00:00,950,,30
7902,"FORD","ANALYST",7566,03/12/1981 00:00:00,3000,,20
7934,"MILLER","CLERK",7782,23/01/1982 00:00:00,1300,,10The procedure allows for the header and data to go to seperate files if required. Just specifying the "header" filename will put the header and data in the one file.
Adapt to output different datatypes and styles are required.
You can then call that procedure for all the tables you want to extract, with appropriate filenames for each.
Similar Messages
-
How to create xsd's for each table in repository instead of entire repos
Hi Gurus,
Is there any way i could create xsd's for each table in the repository separately instead of creating single xsd file from "Export repository schema" option which creates a single xml file for the entire repository.I need to create xsd for each table in repository...
Any Help greatly appreciated
Thanks
AravindOpen the Lookup table you want the XSD for, in Data manger
Export it to access.( You can select all the fields you want to export to access and then check option "open Access after export")
Now in Access, again right click the table and export it to XML.
Provided you have .NET frame work installed on the machine where you are doing this export, you can do the following:
Use XSD.exe from command prompt and get the XSD.
Use the following link as a reference for XSD stuff.
http://msdn.microsoft.com/en-us/library/x6c1kb0s(VS.71).aspx
(OR)
Get the whole XML of the repository and distill the whole structure for Lookups and create XSD using any standard XML editor. -
SDDM 3.3.EA2 one xml file for each table?
Dear Philip!
We'd like to have xml-files for all of our tables. To be more precise one xml file for each table so we can check it in in our configuration management system (CCC Harvest)
Is it possible to write such a transformation script and, I really believe that can be done, can you please point us in the right direction, how to do that?
Thanks in advance
GuenterHi Gunter,
if you want each table to be stored in separate XML file then you needn't to do anything. Each table is stored in separate file in design directory structure - foreign keys are not included, each FK is stored in separate file.
The ID of the table is used as file name. Each table has presentation in each physical model so you'll find file with same name (table ID) in each physical model.
Please elaborate on that if you want something else.
Philip -
How to extract TEXT for archived Purchase Orders ?
Hi Friends,
Can any one tell me how to extract TEXT for archived Purchase Orders ?
I have used READ_TEXT but that is not fetching texts for archived PO's. Whenever I am trying to fetch data from STXH against archived PO, no value is coming and resulting SY_SUBRC <> 0.
Any demo code will be highly appreciated.
Thanks in advance..
SivajiHi,
You can see that table STXH is linked to archiving object MM_EKKO (you can see it in tcode DB15).
My suggest is that you must get the data. See the demo object BC_SBOOK in tcode AOBJ. You can see the report to reload data. The object is get the data in an internal table. So for report SBOOKR you can see this function module:
* get data records from the data container
* SBOOK
CALL FUNCTION 'ARCHIVE_GET_TABLE'
EXPORTING
archive_handle = lv_handle
record_structure = 'SBOOK'
all_records_of_object = 'X'
TABLES
table = lt_sbook_tmp
EXCEPTIONS
end_of_object = 0. "not entries of this type
* check lt_sbook_tmp entries against selections. Delete not
* requested entries
LOOP AT lt_sbook_tmp ASSIGNING <ls_sbook>
WHERE carrid IN s_carrid
AND connid IN s_connid
AND fldate IN s_fldate.
APPEND <ls_sbook> TO lt_sbook.
ENDLOOP.
REFRESH lt_sbook_tmp.
The idea is that you get the same data that you handle in READ_TEXT (because you don't have the data in database) and recovery the text.
I hope this helps you
REgards
Eduardo -
How to get LASTDAY for each and every month between given dates..
Hi Friend,
I have a doubt,How to get LASTDAY for each and every month between given dates..
for ex:
My Input will be look like this
from date = 12-01-2011
To date = 14-04-2011
And i need an output like
31-01-2011
28-02-2011
31-03-2011
is there any way to achieve through sql query in oracle
Advance thanks for all helping friendsHere's a 8i solution :
select add_months(
trunc(
to_date('12-01-2011','DD-MM-YYYY')
,'MM'
, rownum ) - 1 as results
from all_objects
where rownum <= ( months_between( trunc(to_date('14-04-2011','DD-MM-YYYY'), 'MM'),
trunc(to_date('12-01-2011','DD-MM-YYYY'), 'MM') ) );
The above two query is worked in oracle 11GActually the first query I posted is not correct.
It should work better with
months_between(
trunc(to_date(:dt_end,'DD-MM-YYYY'),'MM'),
trunc(to_date(:dt_start,'DD-MM-YYYY'),'MM')
)Edited by: odie_63 on 12 janv. 2011 13:53
Edited by: odie_63 on 12 janv. 2011 14:11 -
Creation of sequence and trigger for each table!!!!!!!1
Hi
I am new to trigger and Sequence field. In one of my database we have many tables with fields for specifing ID numbers. Iam planning to insert the ID field with help of a Sequence and trigger...that trigger fires by adding the sequence value from the dual table. Now the point is here we r having around *60* table with ID field. And i am planning use the above process for each table by creating sequences and trigger for each table.
Will this affects the performance of database.
Is there any other option other than the above process, I mean other than creating sequences and trigger for each table.
PLzz help to resolve this issuee......
Shiyas
Edited by: user13170361 on Jun 7, 2010 12:37 AMTiger, I didn't mind about your comment, but the point is try to use
select NVL(max(a) + 1,1) into i from p1_temp;This line in your trigger code and see what is happening. The problem is with your trigger. You are using group by function and you will not get no_data_found !
For more help, this is some modification of your code.
SQL> create table p1_temp (a number(10) primary key, b number(10));
Table created.
SQL> create or replace trigger trg_p1_temp
2 before insert on p1_temp for each row
3 declare
4 i number(10);
5 begin
6 begin
7 select NVL(max(a) + 1,1) into i from p1_temp;
8 exception
9 when no_data_found then
10 i := 1;
11 end;
12 :new.a := i;
13 end;
14 /
Trigger created.
SQL> insert into p1_temp(b) values (1);
1 row created.
SQL> insert into p1_temp(b) values (2);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from p1_temp;
A B
1 1
2 2
SQL> Edited by: Saubhik on Jun 7, 2010 2:30 AM -
What is authorization object and how to create it for a table
Hi All,
What is authorization object and how to create it for a table?
ThanksHi
Authorization
For authorization checks, there are many ways of linking authorization objects with user actions in an SAP system. The following discusses three possibilities in the context of ABAP programming.
Authorization Check for Transactions
You can directly link authorization objects with transaction codes. You can enter values for the fields of an authorization object in the transaction maintenance. Before the transaction is executed, the system compares these values with the values in the user master record and only starts the transaction if the appropriate authorization exists.
Authorization Check for ABAP Programs
For ABAP programs, the two objects S_DEVELOP (program development and program execution) and S_PROGRAM (program maintenance) exist. They contains a field P_GROUP that is connected with the program attribute authorization group. Thus, you can assign users program-specific authorizations for individual ABAP programs.
Authorization Check in ABAP Programs
A more sophisticated, user-programmed authorization check is possible using the Authority-Check statement. It allows you to check the entries in the user master record for specific authorization objects against any other values. Therefore, if a transaction or program is not sufficiently protected or not every user that is authorized to use the program can also execute all the actions, this statement must be used.
AUTHORITY-CHECK OBJECT object
ID name1 FIELD f1
ID name2 FIELD f2
ID namen FIELD fn.
object is the name of an authorization object. With name1, name2 ... , and so on, you must list all fields of the authorization object object. With f1, f2 ... , and so on, you must specify the values that the system is to check against the entries in the relevant authorization of the user master record. The AUTHORITY-CHECK statement searches for the specified object in the user profile and checks the useru2019s authorizations for all values of f1, f2 ... . You can avoid checking a field name1, name2 ... by replacing FIELD f1 FIELD f2 with DUMMY.
After the FIELD addition, you can only specify an elementary field, not a selection table. However, there are function modules available that execute the AUTHORITY-CHECK statement for all values of selection tables. The AUTHORITY-CHECK statement is supported by a statement pattern.
Only if the user has all authorizations, is the return value sy-subrc of the AUTHORITY-CHECK statement set to 0. The most important return values are:
· 0: The user has an authorization for all specified values.
· 4: The user does not have the authorization.
· 8: The number of specified fields is incorrect.
· 12: The specified authorization object does not exist.
A list of all possible return values is available in the ABAP keyword documentation. The content of sy-subrc has to be closely examined to ascertain the result of the authorization check and react accordingly.
REPORT demo_authorithy_check.
PARAMETERS pa_carr LIKE sflight-carrid.
DATA wa_flights LIKE demo_focc.
AT SELECTION-SCREEN.
AUTHORITY-CHECK OBJECT 'S_CARRID'
ID 'CARRID' FIELD pa_carr
ID 'ACTVT' FIELD '03'.
IF sy-subrc = 4.
MESSAGE e045(sabapdocu) WITH pa_carr.
ELSEIF sy-subrc <> 0.
MESSAGE e184(sabapdocu) WITH text-010.
ENDIF.
START-OF-SELECTION.
SELECT carrid connid fldate seatsmax seatsocc
FROM sflight
INTO CORRESPONDING FIELDS OF wa_flights
WHERE carrid = pa_carr.
WRITE: / wa_flights-carrid,
wa_flights-connid,
wa_flights-fldate,
wa_flights-seatsmax,
wa_flights-seatsocc.
ENDSELECT.
Regards
Hitesh -
How to create view for xmltype table in oracle
hi:
Can some one help me how to create view for xmltype table in oracle?
XMLType do not have column
SemThank you !!
I read it and become very hard to implement what I want to do.
Can you give me example please?
My main goal to create view for xmltype table is to XQuery the XML data?
Do you have any other suggestion?
Please help
Ali_2 -
How to change tablespace for a table in 10g?
Does anyone know how to change tablespace for a table (like changing tablespace for an index [alter index ... rebuild tablespace ... ])? Many thanks in advance.
alter table tablename move tablespace newtsname;
You need to rebuild the indexes after the move. -
Create Store Procedure to Count Number of records in Database for each table
Hello,
I have created the code which counts the number of records for each table in database. However, I want create store procedure for this code this code that when ever use execute the Store Procedure can provide the database name to execute it and as a result
table will display number of records in each table.
Below you will find the code its working:
CREATE
TABLE #TEMPCOUNT
(TABLENAME
NVARCHAR(128),
RECORD_COUNT BIGINT)
-- Creating a TEMP table
EXEC
sp_msforeachtable
'insert #tempcount select ''?'', count(*) from ? with (nolock)'
SELECT
* FROM
#TEMPCOUNT
ORDER
BY TABLENAME
DROP
TABLE #TEMPCOUNT
This code need to be convert in store procedure and user can give database name when execute the procedure in order to count the records.
Looking forward for your support.
Thanks.
SharePoint_Consultant_EMEASomething like:
set quoted_identifier off
go
create procedure usp_TableCounts
@DBName as varchar(1000)
as
set nocount on
declare @SQLToExecute varchar(1000)
CREATE TABLE #TEMPCOUNT (TABLENAME NVARCHAR(128), RECORD_COUNT BIGINT) -- Creating a TEMP table
set @SQLToExecute = @DBName + ".dbo.sp_msforeachtable 'insert into #tempcount select ''?'', count(*) from ? with (nolock)'"
print @SQLToExecute
exec (@SQLToExecute)
SELECT * FROM #TEMPCOUNT
ORDER BY TABLENAME
DROP TABLE #TEMPCOUNT
GO
Satish Kartan www.sqlfood.com -
How Assign a Buyer for Each Material
Dear experts ,
How Assign a Buyer for Each Material , for example,This person is going to buy this material in purchase dept. is there any possiblities
regards,
Rajahello,
u can achieve same results by following simple way
create purchase document types for example for raw material purchase,consumable purchase etc
then assign buyer from personal setting from each buyers computer.
regards
kedar -
How to Extract Data for a Maintenance View, Structure and Cluster Table
I want to develop 3 Reports
1) in First Report
it consists only two Fields.
Table name : V_001_B
Field Name1: BUKRS
Table name : V_001_B
Field Name2: BUTXT
V_001_B is a Maintenance View
For this one I don't Find any Datasource
For this Maintenance View, How to Extract the Data.
2)
For the 2nd Report also it consists Two Fields
Table name : CSKSZ
Field Name1: KOSTL (cost center)
Table name : CSKSZ
Field Name2: KLTXT (Description)
CSKSZ is a Structure
For this one I don't Find any Datasource
For this Structure How to Extract the Data
3)
For the 3rd Report
in this Report all Fields are belonging to a Table BSEG
BSEG is a Cluster Table
For this one also I can't Find any Datasource,
I find very Few Objects in the Datasource.
For this One, How to Extract the Data.
Please provide me step by step procedure.
Thanks
PriyaHi sachin,
I don't get your point can you Explain me Briefly.
I have two Fields for the 1st Report
BUKRS
BUTXT
In the 2nd Report
KOSTL
KLTXT
If I use 0COSTCENTER_TEXT Data Source
I will get KOSTL Field only
what about KLTXT
Thanks
Priya -
How to use Generic Object Services(GOS) for each table control record.
Dear Expert,
I am using generic object services for document attachment but i am facing a problem while attaching document to a table control row. my requirement is to attach separate document for each and every row of table control but i am unable to attach document row wise of the table control.for each row GOS should display corresponding attached document not all the attached document.
Thanks in Advanced
Bhuwan Tiwari
Edited by: BHUWAN TIWARI on Feb 8, 2011 4:16 PM
Edited by: BHUWAN TIWARI on Feb 8, 2011 4:16 PMYou haven't explained what object and object key you're using, nor have you provided any indication of how you implemented the GOS attachment functionality. You need to provide more information to resolve an issue like this.
-
How to enable DFF for each line level on a Table Region - very very urgent
Hi,
I have a Master- Detail Page, Detail is Table region. I need to enable DFF (Context Based) for each line. If any one has done similar requirement please share how to do this. Its very very urgent.
It is a standard page.
Thanks,
Edited by: user8996062 on Jun 29, 2011 2:58 AMCan any one please help me on this it is very urgent.
Thanks, -
How to extract data from monthly tables for annual balance chart?
Hello Again!
I am wanting to decide whether to enter all of my transactions into one table for the whole year or separate tables for each month. If I was to use one table for the whole year it would probably have in the region of 1000 entries, and as I understand it, Numbers doesn't work so well with such large tables. Also, as I will be mostly using Numbers on my iPad, where it runs slower, this may well slow things down considerably. Another reason for using Monthly Tables is that it would be easier to search.
Having said this, I am using the following method to construct balance charts for my accounts which seems to depend on having just one table for all transactions for the year. Here is a sample of the transactions table:
which updates the balance for each account after each new transaction is entered.
Then I use the following table for creating the balance charts:
It uses the following formula to return the balance at the end of each week for each account (this is the formula for Account 1) which then is displayed in the chart.
=LOOKUP(A2,$Week Number,All Transactions :: Account 1)
If I was to use the Monthly Tables method it is not obvious to me how I would create the Weekly Balance Table, given that I would need to draw data from 12 different tables, and that some of these Tables would contain the same Week Number (for weeks that overlap months).
I would be grateful for any advice on achieving the result I am looking for by the most efficient method.
Thanks
Nick
P.S. Hopefully this is the last question for a while!I wasn't urging you to keep an annual table but to spit it on an easier to rule basis.
Split it in chuncks of exactly 35 days starting from the first one of the 'year' in operation
Doing that everything will be easier
the index of a day will be calculated by
=DATEDIF(B,D,"D")+1
The index of the 'custom_week' will be calculated by :
=1INT((DATEDIF(B,D,"D")1)/7)
So, it would be easy to gather datas from a given 'custom_week'.
Yvan KOENIG (VALLAURIS, France) jeudi 5 août 2010 10:22:25
Maybe you are looking for
-
Problem CMR ejb 3.0 with JDeveloper Preview 3
I created 2 entity beans (using drag and drop from JDeveloper 10.1.3 preview 3) for 2 tables INCIDENTS and ENVINCIDENTS ENVINCIDENTS has a foreign key INCIDENTS_ID referring INCIDENTS.ID.I get the following error when I created ejb 3.0 beans and depl
-
Hi -- I recently installed windows vista on my T42p. It works fine except that the fn+f3 and fn+f4 functions do not work as expected. Before installing the hotkeys driver, the fn+f4 function worked correctly while f3 did not (going to sleep worked,
-
Does report2.5 works with srw.run_report and Oracle Apps11.0.3
Hi, I have reports2.5 and using srw,run_report I want to call another report. NOw I have registered this in oracle apps 11.0.3 . Now through oracle apps if I run the main report it has to call the child report (calling via srw.run_report) and the out
-
PSE 11- FX and Graphics buttons not working under Expert Editor Mode
Under 'FX' in Expert Editor mode, the Filters, Styles and Effects tabs do not work, and similarly under "Graphics" the shapes and text tabs do not work. I have looked at C:\Programmes\Adobe\Photoshop Elements 11\Plug-Ins\Panels and find the 'Panels'
-
Purchased photoshop elements from best buy. how do i download to macbook pro?
I purchased photoshop elements and premiere elements 11 from best buy and have a macbook pro. How do I download to my mac without a cd drive?