By comparing the data in the pass of 2 tables - with a calculation
There are 20 records in 2 different tables (A and B). Records relate to periods between Jan 07 and 09 March. There is a logic that says that all records of 15 who are understood between Jan 07 and 08 Dec; their amount must be changed in Table B. While the amount for the rest 5 records that fall between Jan 09 and March 09 would remain the same. The formulas to be applied in the first 15 recordings is "amount/.50*0.125" and this result should take into account in the new table in the amount column.Now the task to ensure that the calculation that happened correctly in table A, for these 15 records that fall between January 2007 and December 2008 in Table B, and that the amount is the same for the records for the period after January 2009. I will conduct trials only that the new amount after the calculation of business logic is reflected in the new column of Table B.
This, to a sql statement.
Thank you
Dush
you might want to try this pseudo-code
update [2nd table]
set amount = (select t.amount / .50 * 0.125
from (select id, rownum rn, amount
from [1st table]
where period_date between '01-JAN-07' and '31-MAR-09'
order by id) t
where t.rn <= 15
and t.id = [2nd table].id)
where id in (select t.id
from (select id, rownum rn, amount
from [1st table]
where period_date between '01-JAN-07' and '31-MAR-09'
order by id) t
where t.rn <= 15)
It's even better if you can post the actual tables, columns and a few examples of data
Tags: Database
Similar Questions
-
Hi everyone, yet once landed upward with a problem.
After trying many things to myself, finally decided to post here...
I created a form in form builder 6i in which clicking on a button, the data gets exported to the excel sheet.
It works very well with a single table. The problem now is that I cannot do the same with 2 tables.
Because the tables have the same number of columns and the columns names.
Here are the 2 tables with column names:
Table-1 (MONTHLY_PART_1) Table-2 (MONTHLY_PART_2) SL_NO SL_NO MODEL MODEL END_DATE END_DATE U-1 U-1 U-2 U-2 U-4 U-4 .......... ........ .......... ........ U-20 U-20 U-25 U-25 Given that the tables have the same column names, I get the following error :
402 error at line 103, column 4
required aliases in the SELECT list of the slider to avoid duplicate column names.
So how to export data to excel that has 2 tables with the same number of columns and the column names?
Should I paste the code? Should I publish this query in 'SQL and PL/SQL ' Forum?
Help me with this please.
Thank you.
Wait a second... is this a kind of House of partitioning? Shouldn't it is a union of two tables instead a join?
see you soon
-
GetLength errors on CLOB. Retrieves the size of a table with CLOB columns
Hello
I try to find the size of a CLOB to a table column and get the error
PLS-00306: wrong number or types of arguments in the call to "GETLENGTH.
When you try to use dbms_lob.getlength. Here is the code
declare
number num.
Start
for rec in (select xmlupload from FILE_TABLE where file_table_id = 33635) loop
NUM: = dbms_lob.getLength (rec.xmlupload);
end loop;
dbms_output.put_line (num);
end;
Database version: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
I'm actually trying to find the size of a table with CLOB columns, is there an easy way to do this Besides using getlength and without having to contact the Administrators (they are outsourced)?It works fine on my computer, the version is also 10g.
SQL> declare 2 num number; 3 begin 4 for rec in (select cntnt from ims_toms_msge where rownum<3) loop 5 num := dbms_lob.getLength(rec.cntnt); 6 dbms_output.put_line(num); 7 end loop; 8 9 end; 10 / 3837 3837 PL/SQL procedure successfully completed.
You should check if xmlupload is the CLOB data type.
In addition, if you just want to get the CLOB size, you can use LENGTH() as well, you will get the same result;SQL> select length(cntnt), dbms_lob.getLength(cntnt) from ims_toms_msge where rownum<2; LENGTH(CNTNT) DBMS_LOB.GETLENGTH(CNTNT) ------------- ------------------------- 3837 3837
Published by: PhoenixBai on September 24, 2009 13:40
-
How to get the title of a table with FDK?
How to get the title of a table with ad FDK C++?
I did people. I get objects table paragraph and later the textual elements for each of them.
-
Hello
Several times, I get a request to load the data in the tables of one schema to another. But before doing that I need to compare the structures of tables in the source and target schema.
How can I do? The list of tables to continue to change every now and then. A TOAD there is no option to compare a selected table list. Comparing schemas whole is not an option before me that patterns are too huge and it takes a lot of time to do the level schema comparison.
Note This is a client machine, and we are not allowed to install any s/w.
I'm working on the provision of a unix script that does this for me. But that may take some time given the intense work schedule and my lack of knowledge of unix scripting languages.
Can anyone suggest a way to do it?
Regds,
MalikaI need to compare the structures of tables in the schema source & target.
SELECT THE TABLE TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_TYPE_MOD, DATA_TYPE_OWNER, DATA_LENGTH, DATA_PRECISION, DATA_SCALE DBA_TAB_COLUMNS WHERE OWNER = 'SOURCE '.
LESS
SELECT THE TABLE TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_TYPE_MOD, DATA_TYPE_OWNER, DATA_LENGTH, DATA_PRECISION, DATA_SCALE DBA_TAB_COLUMNS WHERE OWNER = 'TARGET'
UNION
SELECT THE TABLE TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_TYPE_MOD, DATA_TYPE_OWNER, DATA_LENGTH, DATA_PRECISION, DATA_SCALE DBA_TAB_COLUMNS WHERE OWNER = 'TARGET'
LESS
SELECT THE TABLE TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_TYPE_MOD, DATA_TYPE_OWNER, DATA_LENGTH, DATA_PRECISION, DATA_SCALE DBA_TAB_COLUMNS WHERE OWNER = 'SOURCE '. -
compare the value of previous line with the current value
I need to compare the previous value with the current value. All Oracle functions could there be to do?
Something similar as a result.
If previous (Amt {}) > Current (({Amt}) then 0 Else Null.)Something like that?
SQL> WITH test_data AS 2 ( 3 SELECT 107019 AS ID, 1583 AS AMT FROM DUAL UNION ALL 4 SELECT 107019 AS ID, 1572 AS AMT FROM DUAL UNION ALL 5 SELECT 107019 AS ID, 1572 AS AMT FROM DUAL 6 ) 7 -- END SAMPLE DATA 8 SELECT ID 9 , (CASE 10 WHEN LAG(AMT,1) OVER (PARTITION BY ID ORDER BY ID) = AMT THEN NULL 11 ELSE AMT 12 END) AS AMT 13 FROM test_data; ID AMT ---------- ---------- 107019 1583 107019 1572 107019
-
How to compare the original value of table size and the changed value
juice I took a table and then took the function of the size of the array so that it shows me the number of the elements present in it. so it'll be the original table size value. If the items in the table even changes another value, then I want to compare the original table size value and the value of table size has changed. How to compare... Please help me. you are looking for a possible solution. Thank you
Hi stara,
the attached picture shows the ony solution.
It will be useful.
Mike
-
in comparing the index and a table between instances PK
Aloha!
I'll compare the indices and the PK's (Constraint) of 3 instances.
This table of s/n/s best use? The comparison is made on a specific schema only.
Please be kind enough to write the script that I need or tables.
PS
Which is better dba_ind_columns or dba_objects?
BR,
Hades
Published by: TheHades0210 on December 2, 2012 21:58TheHades0210 wrote:
HelloThank you for these elaborate explanation. I just want to know why under dba_ind_Columns INDEX_NAME, some of the names of the characters $ and #. Is it system generated index?
very probably are generated, the system but not necessarily.
If so, what application generates this index?
I don't know what applications are installed in your DB.
No objects appear spontaneously.
Someone has published the DDL that created. -
Compare the result of a query with a number and return a message
Hello
I have the following query in oracle 9i:
SELECT COUNT (*)
OF hourly_files
WHERE date_received = TO_DATE ((SELECT TO_CHAR (SYSDATE - INTERVAL '1' DAY, 'DDMMYYYY')
(THE DOUBLE), 'DDMMYYYY');
This will produce a number of lines required
I need to compare the number of output with another number hardcoded (threshold) and print an appropriate example message
If the result of the query above is 18000 and the number of threshold is fixed at 20000, then output a meesage:
Number of files received less than 2000
Any help will be very appreciated!
Thank you.SQL> ed Wrote file afiedt.buf 1 SELECT CASE WHEN COUNT(*) >5 THEN 'Number is > than 5' 2 WHEN COUNT(*) <1 THEN 'Its less than 1' 3 ELSE 'Its in between' 4 END 5 FROM emp 6* WHERE deptno=20 SQL> / CASEWHENCOUNT(*)>5 ------------------ Its in between SQL> SELECT COUNT(*) FROM emp 2 WHERE deptno=10; COUNT(*) ---------- 3
-
Find the size of a table with partitions; Two questions
DB version: 11.2.0.4
Platform: Oracle Linux 6.4
The slot table MH_PKT_HEADR in UTMSBL schema has more than 5000 partitions.
Because there partitions, you cannot use just view DBA_SEGMENTS to determine the size of the table.
So, I tried to use 2 SQLs mentioned below. Query1 returned 5 GB. But Query2 has returned a value zero. Query2 is actually a note metalink mentioned below, so he cannot deceive you, I guess.
That is the reliable accurate query: Query1 or Query2?
No idea why Query2 returns a Null value?
- Query1
fixed lines 200
Col TABLE_NAME format a18
with
BaseData as)
Select the owner
nom_segment
segment_type
, round (sum (bytes) / 1024/1024/1024) GB
sum (bytes) bytes
count (*) segment_count
of s dba_segments
Group by owner, nom_segment, segment_type
)
,
LOB type as data)
Select the owner
table_name
nom_segment
of dba_lobs
)
,
all_segs like)
Select coalesce (lobs.table_name, basedata.segment_name) table_name
basedata.*
of basedata
left outer join
type LOB data
on (basedata.segment_name = lobs.segment_name
and basedata.owner = lobs.owner)
)
Select table_name
sum (bytes) bytes
sum (gb) GB
of all_segs
where table_name = 'MH_PKT_HEADR'.
and owner = 'UTMSBL. '
Table_name group;
TABLE_NAME BYTES GB
------------------ ---------- ----------
5869469696 5 MH_PKT_HEADR
- Request 2
-Source: how to calculate the size of a Table that contains outline CLOB and BLOB (Doc ID 118531.1()
SELECT
(SELECT SUM (S.BYTES) - the Segment of Table size
FROM DBA_SEGMENTS S
WHERE S.OWNER = UPPER ('UTMSBL') AND
(S.SEGMENT_NAME = UPPER ('MH_PKT_HEADR'))) +
(SELECT SUM (S.BYTES) - the size of the Lob Segment
FROM DBA_SEGMENTS S, DBA_LOBS L
WHERE S.OWNER = UPPER ('UTMSBL') AND
(L.SEGMENT_NAME = S.SEGMENT_NAME AND L.TABLE_NAME = UPPER('MH_PKT_HEADR') AND L.OWNER = UPPER('UTMSBL'))) +
(SELECT SUM (S.BYTES) - the size of the Lob Index
FROM DBA_SEGMENTS S, DBA_INDEXES I
WHERE S.OWNER = UPPER ('UTMSBL') AND
(I.INDEX_NAME = S.SEGMENT_NAME AND I.TABLE_NAME = UPPER('MH_PKT_HEADR') AND INDEX_TYPE = 'LOB' AND I.OWNER = UPPER('UTMSBL')))
"TOTAL TABLE SIZE.
FROM DUAL;
TOTAL TABLE SIZE
----------------
SELECT
(SELECT nvl (SUM (S.BYTES), 0)-dimensions of the Segment Table)
FROM DBA_SEGMENTS S
WHERE S.OWNER = UPPER ('UTMSBL') AND
(S.SEGMENT_NAME = UPPER ('MH_PKT_HEADR'))) +
(SELECT nvl (SUM (S.BYTES), 0)-Segment Lob size)
FROM DBA_SEGMENTS S, DBA_LOBS L
WHERE S.OWNER = UPPER ('UTMSBL') AND
(L.SEGMENT_NAME = S.SEGMENT_NAME AND L.TABLE_NAME = UPPER('MH_PKT_HEADR') AND L.OWNER = UPPER('UTMSBL'))) +
(SELECT nvl (SUM (S.BYTES), 0)-size of the Lob Index)
FROM DBA_SEGMENTS S, DBA_INDEXES I
WHERE S.OWNER = UPPER ('UTMSBL') AND
(I.INDEX_NAME = S.SEGMENT_NAME AND I.TABLE_NAME = UPPER('MH_PKT_HEADR') AND INDEX_TYPE = 'LOB' AND I.OWNER = UPPER('UTMSBL')))
"TOTAL TABLE SIZE.
FROM DUAL;
David Fitzjarrell
-
How to find the size of a table with CLOB
Hello
I have a table with CLOB as follows:
SQL > desc INFO_MESSAGES
Name Null? Type
----------------------------------------- -------- ----------------------------
CLNT_OID NOT NULL VARCHAR2 (16)
USR_OID NOT NULL VARCHAR2 (16)
LAST_client_msg_ID VARCHAR2 (36)
LAST_client_msg_DATE DATE
LAST_client_msg CLOB
LAST_USR_MSG_BOD_ID VARCHAR2 (36)
DATE OF LAST_USR_MSG_DATE
CLOB LAST_USR_MSG
Now I just want to find out what is the size/area total absorbed by the table (including the CLOB columns), so how can I find? I think that the usual command does not - the
Select format from dba_segments where nom_segment = "INFO_MESSAGES" is only showing 7 MB, while I think that the table has several GB of space due to the CLOB.
Also to add one more detail: when dba_segments seeking, I see a result like this:
Select * of dba_segments order by bytes DESC;
MIGRTN SYS_LOB0000111131C00008$ $ LOBSEGMENT SAMS DATA1 20690 6 1963 14528000 119013376000 <-the top row
MIGRTN this is the schema where this INFO_MESSAGES table is present.
Thanks,
OrauserN
you will need to add the segment_size of the LOB segments to the segment_size of the table. The connection between the two pieces of information you find in USER_LOBS (or the corresponding ALL_, DBA_ objects).
-
Problems with the sorting of a table with drop-down text cells
I have 2 subjects (among a number of topics), and each section has a table.
I followed Mr Grainge help to sort a table without an arrow and in heading 1, it does not work as expected. When I generate my WebHelp I can click on any one of my columns will sort the data. I can see the little black arrow head and black arrow head.
I know absolutely nothing about HTML and basically followed the instructions for help and got to work.
The second is a little different in that has 3 columns and rows about 375. The second column contains cells with the drop down text (but not all) as some have yet to be converted.
The questions are:
(1) a column will sort once only. So if I click on column 1, the head of black arrow appears. Subsequently, no amount of click will change the State of the data. I can sort the data on any of the 2 remaining columns, but I can never switch between ascendants and descendants of sequence on the same column.
(2) in Design view, I see all the data in each cell. After that I generated my WebHelp, some of the cells that contain drop-down text fields are missing. Some are, and some are not. Those who are there, work perfectly when I click on the text and the text of the menu drop-down appears. Each drop-down text field has a bookmark.
((3) continuous on 2) above, if I use the combination of keys ctrl-w in design, some of the cells that contain text to menu drop-down are missing (probably all those lacking in the Webhelp) and oddly, some of the borders of the cells (I used light blue) are missing. However, they are there in the WebHelp. A sample is attached.
Get my second table to work as I had hoped would be fantastic and worthwhile so far. However, I'm not quite there yet and need your help and suggestions.
Please see the last item in the list under the Notes. I suspect this is the problem.
See www.grainge.org for creating tips and RoboHelp
Follow me @petergrainge
-
How to read/select only the records from a table with non-English characters
Hello
I need to find all records in a table with non-English (mainly Chinese) characters in at least one of the varchar2 columns. Let me kow if someone knows a way by which it can be done using SQL/PLSQL.
Best regards
Imranselect * from your table where your_column != convert(your_column, 'UTF8', 'US7ASCII)
Replace UTF8 with your database character set
Published by: thtsang on October 15, 2009 03:53 - unequal sign change of! =
-
How to compare the clone of a partition with partition source?
I just cloned two partitions of a HARD resident to an auxiliary Momentus XL HARD drive in a case connected to the computer via eSATA.
Is there a way to compare each partition cloned with its original for integrity? If it was just a file, I would use a unix/cygwin utility like diff or cmp.
However, it is a partition.
Sorry, but I don't understand the relationship between your question and the recovery of Toshiba.
You know that copy of image recovery or cloning can be used for the installation of recovery?
-
retrieve the information of partition table with lack of offline data file
I just restored a backup of a database. When I unzipped data files, I discovered that a single data file was so damaged in the starting order of the database, I had to put the offline data file. The tablespace which reports the data file holds the information of partition of a table. Since I have no archives from when the data file has been created, I know it is not possible to recover the data file, I have to recover as many lines as possible other files in the tablespace data but when export or create the table as what to choose in the affected partition get ORA-00376 : cannot read file 1624 at the moment.
is there a way to tell oracle to ignore the data offline file and export the remaining data file information?
Just to clarify my situation a little more;
iI have a table called PPGA_ACTABOPRE that is partitioned by HASH and has 20 partitions, each partition in a different tablespace and tablespace each have about 8 files of data. A data file in the partition 9 is missing and I want is to get the information from the files of the remaining data, but whenever I issue a select statement or an exp or anything I get ORA-00376.
I try to set the flag to ignore blocks corrupt with run DBMS_REPAIR. SKIP_CORRUPT_BLOCKS ('PPGA', 'PPGA_ACTABOPRE'); and then select the info but it did not work.
Any suggestion would be appreciated;
Thanks in advanceFor the actabopre_p08 partition, some files are available, and we're not. You can access data at the segment level, because some extensions are missing.
You would need to access the data by rowid. You could loop through dba_extents and use dbms_rowid.create to generate a list of ROWID that may exist in the available data files.
This may help: -.
http://kerryosborne.Oracle-guy.com/2009/02/saving-rows-from-corrupt-blocks/
http://kerryosborne.Oracle-guy.com/scripts/save_u.SQLPublished by: Robert Geier on March 12, 2010 15:33
Maybe you are looking for
-
ios10 = not available in windows Explorer iphone update
After the ios10, my phone is available in itunes but not windows Explorer. How users are expected to access the photos of their PC? (and don't say buy a Mac...)
-
Re: Satellite C660 - 29G does not detect wireless networks
Hello. I own a SATELLITE C660 - 29 G PSC1LE, bought in Spain. Once shaped my development pc, I installed Windosws 7 64-bit. As I lost the DVD attached to the purchase of the laptop, I have downloaded all the drivers for my model based on the Toshiba
-
Windows error code updates 0x8024400A
Restore my computer to original state. under windows xp, IE8, I can't get the updates, install MSE, install SP3 (click on the link and I get "page you requested is not available), or use FixIt. FixIt tells me that I need SP3 update gives 0x8024400A
-
Laptop screen shows negative colors
my laptop has been update (windows update) and GF closed the screen, now, when I turned it the screen has negative colors one knows what this could be? I restarted the update and finished it and still nothing.
-
BlackBerry Z10 Z10 screen oversized since the last update
Since the last update, when I turn it on or open so I have to make a reduction of the screen to see all the functions available at the bottom of the screen. Change the font size does not correct the problem. What's new?