How can you split a table in to exactly half?
Answers were Sorted based on User's Feedback
Answer / nirmal khatri
Hi
We can do it by SQL also, below is SQL which is working on
iSeries(AS/400)
insert into nk11581/temp1 (select * from nk11581/temp1
where rrn(temp1) in(
SELECT distinct dec((rrn(temp1)/2)) FROM nk11581/temp1
))
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / reddy kanupuru
Hi,
Here i am giving the procedure , how to make the table into
half..... using program... I dont know whether any direct
SQL command is there or not. This is just for ur idea what
i know.
1) Find the total number of rows in a table using count(*)
2) Declare two variable in working storage section.
eg: 02 A pic 9(4) .
02 B pic 9(2).
store the count no into one variable .assume u stored that
in A.
then divide that by 2. so u will get half of the rows in a
table. strore that value in B.
3) Take another variable name C .
eg: 02 c pic 9(4) value 0.
perform para1 until B =C
para1:
Retrive the row from the table.
move to corresponding host variables ( use table to store
muliple rows ).
insert into table(u can insert multiple rows at a time ...)
do the same for storing the other half into the another
table.
means here 1 st half rows were stored in one temp
table .... the other in the one table.
| Is This Answer Correct ? | 4 Yes | 3 No |
Answer / pavani
i forgot to mention the c value increment in the above
mail.increment the c value after each row retrieved.
| Is This Answer Correct ? | 2 Yes | 1 No |
Answer / sachin
ADDING TO ans1
no need to write perform
direct use below query
select * from table fech first :b rows only.
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / arpita
We can achieve this by using STRSQL and CPYF commands as
follows -
Type STRSQL, Press Shift + F1, option1 Change session
attributes.Type 3 for SELECT option, specify the output
file name and library (must be created in QTEMP, for a
temporary file). Press ENTER twice.
Then, type the following query -
select * from SAHAA/EMPDATA1
where rrn(EMPDATA1) in(
SELECT distinct dec((rrn(EMPDATA1)/2)) FROM SAHAA/EMPDATA1
) --> use your file and library name
Press Enter, the message File TEMP in QTEMP was created.
Restore the previous session attributes as follows -
Press Shift + F1, option1 Change session attributes.Type 1
for SELECT option. Press ENTER thrice.
Now, we would have half no. of records of EMPDATA1 in file
TEMP (say)
Now, simply use the CPYF command to copy TEMP file data
into EMPDATA1 as follows -
CPYF FROMFILE(QTEMP/TEMP) TOFILE(SAHAA/EMPDATA1) MBROPT
(*REPLACE)
Note:- TEMP is the file temporarily created in QTEMP, so
that it is no longer present in the system when the session
expires.
| Is This Answer Correct ? | 0 Yes | 1 No |
Answer / kumar
Hi ............
try this one ....might be a logical one ... but have to
give customers what they want.....
Select count(*) into :ws-count from emp with ur;
Declare CURSOR cursor1 for
Select *(if possible better code all fields)
from emp where count(*) < :ws-count;
Open cursor
Fetch cursor.
Declare CURSOR cursor2 for
Select *(if possible better code all fields)
from emp where
count(*) >= :ws-
count;
Open cursor
Fetch cursor.
| Is This Answer Correct ? | 0 Yes | 4 No |
Can you tell me how can you find out the # of rows updated after an update statement?
How do you select a row using indexes in db2?
If the cursor is kept open followed the issuing of commit, what is the procedure to leave the cursor that way?
What is release/acquire in bind?
What is the COBOL picture clause of the following DB2 data types: DATE, TIME, TIMESTAMP?
What is DCLGEN ?
What are the full forms of spufi and dclgen and why are they used?
Explain transactions, commits and rollbacks in DB2.
How to check sequence on a table in db2?
How to restart a DB2 program?
How to find the maximum value in a column in the db2 database?
In cursor program-1 can we create another cursor program-2 inside the cursor program-1.If yes how/no why ?