Rename table using sysdate!
I have a statement : rename AA_QISATE_INFO_PROCESSLOG to AA_QISATE_INFO_PROC20090805
This statement is present in .sql file which is having 50 other statements
I want to rename a table with to AA_QISATE_INFO_PROC<sysdate>. I do not want to hardcode date value at the end of table name.
user12133658 wrote:
Hi BluShadow .. why is this scary? sorry for being a 'noob', but I have a table, suppose, CurrentData and I rename it to FY09Data and create a new CurrentData, now empty. Is that bad? Please explain.And the users use the application with your new blank CurrentData, but then a couple of months down the line they say... "we really need to be able to see last years data". What do you do? Are you going to copy all the data from your "archive" into the CurrentData? What if the table structure has changed since due to an application/database upgrade and the table structures don't match? Oooo, that's going to get messy. What about changing the application to read archives of data? But that means that the queries would have to be dynamic to cope with dynamic table names that perhaps didn't exist when the application was created. All in all, table names should not be based on changing values such as times or dates.
Now, if it was a partitioned table, the data can still remain in the same table and the partitions would ensure that performance is maintained because you would have partitioned in such a way that previous partitions of data are seperate from the current data. If an application change requires a structural change to the table it will apply to all old data too, and, if the users need to get back to the old data for whatever reason, it's already there. Then, when the data is confirmed as "no longer needed" the partition can simply be dropped... no deletion performance issues on millions of records.
Similar Messages
-
It's possible to use the external table with SYSDATE? Here is the create external table syntax I am using and it's not working.
create TABLE T_MASTER_EXT
CUSTOMER_NAME VARCHAR2(255),
AUDIT_TIMESTAMP DATE
organization external
type oracle_loader
default directory MY_DIRECTORY
access parameters
records delimited by newline
skip 1
fields terminated by ','
OPTIONALLY ENCLOSED BY '"'
lrtrim
missing field values are null
(CUSTOMER_NAME,
AUDIT_TIMESTAMP DATE SYSDATE))
location ('customers.csv')
reject limit unlimited;
Thank you.
HWell, this discussion is rather academic since there is no facility to supply a virtual column with a default value of SYSDATE or anything else in an external table, but as I understand it "oracle_loader" external tables currently work like this:
1. You issue a query against an external table
2. The database starts an external loader process to open and read the file
3. The loader process parses the file contents and returns the results to your query.
Possibly I have oversimplified, but I just don't see where "The SYSDATE changes when the table is written" comes in. What process is this?
PS:
@VG - this thread would be a lot easier to read for those of us with small monitors if you could make that AskTom link a bit shorter ;) -
how to rename table using export and import utility ??
Thanks 10883532 wrote:
how to rename table using export and import utility ??
Thanks 10What is the version?
In 9i its not possible to rename table using export/import, why not using SQL? its very simple
SQL> create table emp_new as select * from emp;
if its above 10g.then
$expdp system/***** tables=scott.emp dumpfile=emp.dmp logfile=emp.log directory=data_pump_dir
$impdp system/***** dumpfile=emp.dmp logfile=emp_imp.log remap_table=emp:emp_new directory=data_pump_dir
HTH.
User Profile for 883532
883532
Newbie
Handle: 883532
Status Level: Newbie
Registered: Sep 6, 2011
Total Posts: 28
Total Questions: 18 (12 unresolved)
Keep the forum clean as much as possible by marking threads as answered.
Edited by: CKPT on Feb 20, 2012 10:00 PM -
How do I rename the table using Impdp?
Using the Impdp/Expdp utility of Oracle, I am trying to import a table. However the target database contains a table with the same name. How do I rename the table using Import?
REgards,
SakthiSAKTHIVEL wrote:
Using the Impdp/Expdp utility of Oracle, I am trying to import a table. However the target database contains a table with the same name. How do I rename the table using Import?
Hmm well why you just can't rename the table on the target db with the rename table to command and then do the import, will be easy right?
Aman.... -
I am trying to develop a query in MS Access 2010 to join two tables using three joins, one of which is a (between) date range. The tables are contained in Access. The reason
the tables are contained in access because they are imported from different ODBC warehouses and the data is formatted for uniformity. I believe this cannot be developed using MS Visual Query Designer. I think writing a query in SQL would be suiting this project.
ABCPART links to XYZPART. ABCSERIAL links to XYZSERIAL. ABCDATE links to (between) XYZDATE1 and ZYZDATE2.
[ABCTABLE]
ABCORDER
ABCPART
ABCSERIAL
ABCDATE
[ZYXTABLE]
XYZORDER
XYZPART
XYZSERIAL
XYZDATE1
XYZDATE2Thank you for the looking at the post. The actual table names are rather ambiguous. I renamed them so it would make more sense. I will explain more and give the actual names. What I do not have is the actual data in the table. That is something I don't have
on this computer. There are no "Null" fields in either of the tables.
This table has many orders (MSORDER) that need to match one order (GLORDER) in GLORDR. This is based on MSPART joined to GLPART, MSSERIAL joined to GLSERIAL, and MSOPNDATE joined if it falls between GLSTARTDATE and GLENDDATE.
[MSORDR]
MSORDER
MSPART
MSSERIAL
MSOPNDATE
11111111
4444444
55555
2/4/2015
22222222
6666666
11111
1/6/2015
33333333
6666666
11111
3/5/2015
This table has one order for every part number and every serial number.
[GLORDR]
GLORDER
GLPART
GLSERIAL
GLSTARTDATE
GLENDDATE
ABC11111
444444
55555
1/2/2015
4/4/2015
ABC22222
666666
11111
1/5/2015
4/10/2015
AAA11111
555555
22222
3/2/2015
4/10/2015
Post Query table
GLORDER
MSORDER
GLSTARTDATE
GLENDDATE
MSOPNDATE
ABC11111
11111111
1/2/2015
4/4/2015
2/4/2015
ABC22222
22222222
1/5/2015
4/10/2015
1/6/2015
ABC22222
33333333
1/5/2015
4/10/2015
3/5/2015
This is the SQL minus the between date join.
SELECT GLORDR.GLORDER, MSORDR.MSORDER, GLORDR.GLSTARTDATE, GLORDR.GLENDDATE, MSORDR.MSOPNDATE
FROM GLORDR INNER JOIN MSORDR ON (GLORDR.GLSERIAL = MSORDR.MSSERIAL) AND (GLORDR.GLPART = MSORDR.MSPART); -
SQL Loader : Loading multiple tables using same ctl file
Hi ,
We tried loading multiple tables using the same ctl file but the data was not loaded and no errors were thrown.
The ctl file content is summarised below :
LOAD DATA
APPEND INTO TABLE TABLE_ONE
when record_type ='EVENT'
TRAILING NULLCOLS
record_type char TERMINATED BY ',' ,
EVENT_SOURCE_FIELD CHAR TERMINATED BY ',' ENCLOSED BY '"',
EVENT_DATE DATE "YYYY-MM-DD HH24:MI:SS" TERMINATED BY ',' ENCLOSED BY '"',
EVENT_COST INTEGER EXTERNAL TERMINATED BY ',' ENCLOSED BY '"',
EVENT_ATTRIB_1 CHAR TERMINATED BY ',' ENCLOSED BY '"',
VAT_STATUS INTEGER EXTERNAL TERMINATED BY ',' ENCLOSED BY '"',
ACCOUNT_REFERENCE CONSTANT 'XXX',
bill_date "to_date('02-'||to_char(sysdate,'mm-yyyy'),'dd-mm-yyyy')",
data_date "trunc(sysdate)",
load_date_time "sysdate"
INTO TABLE TABLE_TWO
when record_type ='BILLSUMMARYRECORD'
TRAILING NULLCOLS
RECORD_TYPE char TERMINATED BY ',' ,
NET_TOTAL INTEGER EXTERNAL TERMINATED BY ',' ENCLOSED BY '"',
LOAD_DATE_TIME "sysdate"
INTO TABLE BILL_BKP_ADJUSTMENTS
when record_type ='ADJUSTMENTS'
TRAILING NULLCOLS
RECORD_TYPE char TERMINATED BY ',' ,
ADJUSTMENT_NAME CHAR TERMINATED BY ',' ENCLOSED BY '"',
LOAD_DATE_TIME "sysdate"
INTO TABLE BILL_BKP_CUSTOMERRECORD
when record_type ='CUSTOMERRECORD'
TRAILING NULLCOLS
RECORD_TYPE char TERMINATED BY ',' ,
GENEVA_CUSTOMER_REF CHAR TERMINATED BY ',' ENCLOSED BY '"',
LOAD_DATE_TIME "sysdate"
INTO TABLE TABLE_THREE
when record_type ='PRODUCTCHARGE'
TRAILING NULLCOLS
RECORD_TYPE char TERMINATED BY ',' ,
PROD_ATTRIB_1_CHRG_DESC CHAR TERMINATED BY ',' ENCLOSED BY '"',
LOAD_DATE_TIME "sysdate"
Has anyone faced similar errors or are we going wrong somewhere ?
Regards,
SandipanThis is the info on the discard in the log file :
Record 1: Discarded - failed all WHEN clauses.
Record 638864: Discarded - failed all WHEN clauses.
While some of the records were loaded for one table.
Regards,
Sandipan -
Inserting rows in 2 tables using a single query
Can we insert values in two tables using a single INSERT query?
Yes we can insert data in multiple tables using (Multiple insert statement (oracle 9i New Feature))in a single statement.
ex:
INSERT ALL
INTO sal_history VALUES(empid,hiredate,sal)
INTO mgr_history VALUES(empid,mgr,sysdate)
SELECT employee_id EMPID, hire_date HIREDATE, salary SAL, manager_id MGR
FROM employees;
sncr
Naresh -
Rename Tables in Numbers 3.0
I've been using Numbers '09 for several years, and I have one spreadsheet that has 2 sheets (2012, 2013) and each sheet has multiple tables. In Numbers '09, I was able to copy and entire tables, and after the paste it would have the same name as the previous table. i.e. Original table would be called Oct 12-13, and the Pasted Table would then be called Oct 12-13-1. I could then rename the Table to Oct 19-20. In Numbers 3.0, I am unable to rename tables.
Has anybody been able to find a way to rename individual tables on a sheet?Hi dbutlerman,
That confused me too at first. In Numbers '09 I figured out how to display and change the name in the Table Inspector. In Numbers 3.0 I couldn't find how to change the name in the Table pane at the right.
But I tried doubleclicking the table name itself on the sheet and found I could edit it right there.
For me, more intuitive and convenient than Numbers '09.
SG -
Unable to insert the record to table using pre-insert & pre-update trigger
Hi All,
I have tried to insert and update the backend table using the pre-update and pre-insert triggers. But its not working for me. Please find below the code which i have used in the triggers.
Pre-insert trigger:
DECLARE
v_cust_num_cnt NUMBER;
BEGIN
SELECT COUNT(customer_number)
INTO v_cust_num_cnt
FROM cmw_bc_mobile_number
WHERE substr(customer_number,1,15)=substr(:BLOCKNAME.CUSTOMER_NUMBER,1,15);
IF v_cust_num_cnt = 0 THEN
INSERT INTO cmw_bc_mobile_number (CUSTOMER_NUMBER
,MOBILE_NUMBER
,CREATION_DATE
VALUES
(substr(:BLOCKNAME.CUSTOMER_NUMBER,1,15)
,:BLOCKNAME.MOBILE_NUMBER
,SYSDATE
COMMIT;
END IF;
END;
PRE_UPDATE TRIGGER:
BEGIN
IF :SYSTEM.RECORD_STATUS = 'CHANGED' THEN
UPDATE apps.cmw_bc_mobile_number
SET mobile_number = :BLOCKNAME.MOBILE_NUMBER,
creation_date = SYSDATE
WHERE customer_number=substr(:BLOCKNAME.CUSTOMER_NUMBER,1,15);
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
Please let someone assist in gettting it resolved.
Regards,
Raj.Just use MESSAGE (we don't know what fnd_message is, that is some custom code):
message('v_cust_num_cnt='||v_cust_num_cnt);
IF v_cust_num_cnt = 0 THEN
message('Now inserting...');
INSERT INTO cmw_bc_mobile_number (CUSTOMER_NUMBER...
else
message('Nothing to insert');
end if; -
Can I use SYSDATE in the WHERE clause to limit the date range of a query
Hi,
Basicaly the subject title(Can I use SYSDATE in the WHERE clause to limit the date range of a query) is my question.
Is this possible and if it is how can I use it. Do I need to join the table to DUAL?
Thanks in advance.
SteliosAs previous poster said, no data is null value, no value. If you want something, you have nvl function to replace null value by an other more significative value in your query.<br>
<br>
Nicolas. -
How to insert into a table using a procedure in a trigger
I have following trigger and based on the some condition, it should inser a row in to a table using the procedure:
CREATE OR REPLACE TRIGGER RSSC.RR_SERV_ADD_ON_REQ_bu before update on RSSC.RR_SERV_ADD_ON_REQ
for each row
DECLARE
lr_appr_trans_hdr APPR_TRANS_HDR%ROWTYPE;
-- Inserting a row into APPR_TRANS_HDR table
lr_appr_trans_hdr.apth_ref_system := 'RSAO';
lr_appr_trans_hdr.apth_xref_col_name := 'RSAO_ADD_ON_REQ_NUM';
lr_appr_trans_hdr.apth_xref_id := :NEW.RSAO_ADD_ON_REQ_NUM;
lr_appr_trans_hdr.apth_trans_srce := 'I';
lr_appr_trans_hdr.apth_balance_amt := :NEW.RSAO_TOT_AMT;
lr_appr_trans_hdr.apth_is_finance_adj := 'N';
SPI_APPR_TRANS_HDR (
lr_appr_trans_hdr.apth_id
,lr_appr_trans_hdr.apth_create_dt
,lr_appr_trans_hdr.apth_create_user_id
,lr_appr_trans_hdr.apth_update_dt
,lr_appr_trans_hdr.apth_update_user_id
,lr_appr_trans_hdr.apth_ref_system
,lr_appr_trans_hdr.apth_xref_col_name
,lr_appr_trans_hdr.apth_xref_id
,lr_appr_trans_hdr.apth_trans_srce
,lr_appr_trans_hdr.apth_udc_name_cd
,lr_appr_trans_hdr.apth_udc_acct_num
,lr_appr_trans_hdr.apth_level1_apprvl_stat
,lr_appr_trans_hdr.apth_level1_apprvl_dt
,lr_appr_trans_hdr.apth_level1_apprvr_id
,lr_appr_trans_hdr.apth_level2_apprvl_stat
,lr_appr_trans_hdr.apth_level2_apprvl_dt
,lr_appr_trans_hdr.apth_level2_apprvr_id
,lr_appr_trans_hdr.apth_received_dt
,lr_appr_trans_hdr.apth_balance_amt
,lr_appr_trans_hdr.apth_cust_name
,lr_appr_trans_hdr.apth_sent_dt
,lr_appr_trans_hdr.apth_wbs_element
,lr_appr_trans_hdr.apth_gl_acct_num
,lr_appr_trans_hdr.apth_is_finance_adj );
When I use the above, it is saying wrong number of argument or type.
When I use the following instead, I am getting :NEW.APTH_ID must be declared.
SPI_APPR_TRANS_HDR('APPR_TRANS_HDR',to_char(:NEW.APTH_ID),'APTH_ID',:OLD.APTH_ID,:NEW.APTH_ID);
How can use the procedure in a trigger.
Following is the table structure:
Column Name Data Type Column Comments
APTH_ID NUMBER(16) Computed unique identified per large table standards (yyyymmddnnnnnnnn)
APTH_CREATE_DT DATE sysdate
APTH_CREATE_USER_ID VARCHAR2(65) ‘conv’
APTH_UPDATE_DT DATE sysdate
APTH_UPDATE_USER_ID VARCHAR2(65) ‘conv’
APTH_REF_SYSTEM VARCHAR2(4) ‘RSAO’
CPA_PREM_NUM NUMBER(13,0) NULL
RSR_REQ_NUM NUMBER(16) NULL
RSAO_ADD_ON_REQ_NUM NUMBER(16) rsao_add_on_req_num
APTH_TRANS_SRCE VARCHAR2(2) ‘I’
APTH_LDC_NAME_CD VARCHAR2(4) NULL
APTH_LDC_ACCT_NUM VARCHAR2(25) NULL
APTH_LEVEL1_APPROVAL_STAT VARCHAR2(1) NULL
APTH_LEVEL1_APPROVAL_DT DATE NULL.
APTH_LEVEL1_APPROVAL_ID VARCHAR2(30) NULL
APTH_LEVEL2_APPROVAL_STAT VARCHAR2(1) NULL
APTH_LEVEL2_APPROVAL_DT DATE NULL.
APTH_LEVEL2_APPROVAL_ID VARCHAR2(30) NULL
APTH_RECEIVED_DT DATE NULL
APTH_BALANCE_AMT NUMBER(11,2) RR_SERV_ADD_ON_REQ.rsao_tot_amt – amount previously extracted to sap
APTH_CUST_NAME VARCHAR2(65) NULL
APTH_SENT_DT DATE NULL
APTH_WBS_ELEMENT VARCHAR2(25) NULL
APTH_GL_ACCT_NUM VARCHAR2(15) NULL
APTH_IS_FINANC_ADJ VARCHAR2(1) ‘N’
Edited by: user652807 on Sep 3, 2008 4:51 PMIt appears you're missing the format mask in the TO_CHAR, ...
TO_CHAR(:new.apth,'YYYYMMHR24MISS')
The full code would help a bit more. -
ORA-20079: WM internal error [unable to rename table]
Hi,
I am getting following error when i try to enable versioning on a table. Any idea how to resolve it ?
BEGIN DBMS_WM.EnableVersioning('TestTable'); END;
ERROR at line 1:
ORA-20079: WM internal error [unable to rename table]
ORA-06512: at "SYS.LTDDL", line 1615
ORA-06512: at "SYS.LTDDL", line 1193
ORA-06512: at "SYS.LT", line 647
ORA-06512: at "SYS.LT", line 8024
ORA-06512: at line 1
thanks
-naHi,
You need to determine the original error that is being generated by oracle. This can be done by attempting to rename the table yourself. For example:
SQL> alter table TestTable rename to RenamedTable ;
That will give you a better understanding as to why Workspace Manager is unable to rename the table. Also, what version of the database and workspace manager are you using ?
If the direct rename succeeds while enableversioning continues to fail, then you would need to file a TAR on this.
Regards,
Ben -
Facing problem in loading table using IKM Oracle Slowly Changing Dimension
Hi,
I am facing problem in loading dimension table using IKM Oracle Slowly Changing Dimension
Following is the setup :-
SRC :- source_table (MSSQL)
Staging :- staging_table (MSSQL)
TRGT :- target_table (Oracle)
-------- source_table
group_id int
group_version_id int
name varchar (255)
description varchar (255)
comments varchar (2000)
ref_number varchar (255)
is_latest_version decimal (5)
is_deleted decimal (5)
--------- target_table
id number (38,0) - Mapped to <%=odiRef.getObjectName( "L" , "SEQ_NAME" , "D" )%>.nextval
- Executed on target
- defined the column as SK in model
group_id number (38,0) - defined the column as NK in model
group_version_id number (38,0) - defined the column as NK in model
name varchar (255) - undefined on the model description
description varchar (255) - Add row on change
comments varchar (2000) - Add row on change
ref_number varchar (255) - Add row on change
is_latest_version number (1,0) - Add row on change
is_deleted number (1,0) - Add row on change
start_datetime date - SYSDATE
- Executed on target
- Starting Timestamp
end_datetime date - NULL
- Executed on target
- End Timestamp
I am using following KM's:-
LKM SQL to SQL
IKM Oracle Slowly Changing Dimension
CKM SQL
it gives me the following error -
920:Invalid relational operatorHi,
Yes, this is a run-time error. Currently I am debugging it by checking SNP_SESS_TXT_LOG based on sess_no ID.
Now, I get the following error.
I just see the following in the operator:-
911 : 42000 : java.sql.BatchUpdateException: ORA-00911: invalid character
911 : 42000 : java.sql.SQLException: ORA-00911: invalid character
java.sql.BatchUpdateException: ORA-00911: invalid character
at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:342)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10720)
at com.sunopsis.sql.SnpsQuery.executeBatch(SnpsQuery.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.i(e.java)
at com.sunopsis.dwg.cmd.g.y(g.java)
at com.sunopsis.dwg.cmd.e.run(e.java)
at java.lang.Thread.run(Unknown Source)
So, I do not get any idea of the exact step that is causing failure.
Is there any setting in the operator that I am missing on? -
Is it possible that rename table captured by streams
is there any way that i can capture rename table??
Just setup your rule for DDL to the schema level and it will.
Use dbms_streams_adm.add_schema_rules instead of dbms_streams_adm.add_table_rules.
Regards, -
Can I use SYSDATE for retrieving data?
Hi all,
I'm working on MS Windows XP SP3 and my date format in oracle is '01-DEC-2008'. Now I have created a table with DATE type column then I insert a record in it using the SYSDATE like this
INSERT INTO Birthdays (ID, Name, BDate)
VALUES (1, 'Zikas', SYSDATE)Then when I try to retrieve this record after I have inserted in (in the same day I mean) by the Select statement
SELECT *
FROM Birthdays
WHERE BDate = SYSDATEthere is no records retrieved. So how to insert a record with SYSDATE and then retrieve it also using SYSDATE?
Thanks in advance :)Zikas,
Sysdate gives you current data and time and you saved your record in past (like 1 minute ago or 1 hr go), though date are same but time is different as mentioned in the previous post. Take a look this example and make sure you commit after insert.
CREATE TABLE birthday (
id NUMBER,
name VARCHAR2 (30),
bday DATE
INSERT INTO Birthday (ID, Name, BDay)
VALUES (1, 'Zikas', SYSDATE)
commit;
SQL> select * from birthday where trunc(bday)=trunc(sysdate);
ID NAME BDAY
1 Zikas 28-DEC-08Regards
Maybe you are looking for
-
Multiple all-day events and one event disappears.
I have multiple all-day events (in different calendars) and now sometimes (not always) one event won't show in iCal. It's still there cause it's now "....." instead of the name of the event. The old multiple all-day events show perfect but when I try
-
Re:560GTX Twin frozr II-What does MSI mean when they say 20% cooler?
Surely it can't mean that literally? I'm currently running FEAR3 at 80c with this card, does this mean i'm really at 100c if i use another 560GTX that's not twin frozr II? or if i'm running Black Ops at 64c now, does this really mean its 80c? Pls exp
-
IPad to Windows via iCloud?
Have an iPad3. Want to share pics on iPad on windowns7. Have iCloud, but cannot see pics on windows
-
How to I get my iphone to sync music i have bought onto my computer? and get it to
I am able to sync my music and everything over to my laptop and my iphone as usual.. but it only seems to sync my apps and wont transfer music I have downloaded from my iphone on itunes over to my itunes on my laptop?? Please help?. Also, how do i de
-
How to perform RMAN backup in tape. Regards Iman