|
-
Hi,
Please see more description...
When I try to run following Procedure. Now I have removed ROWNUM while selecting ROWID from table. I get following error.
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "SYSADM.PROTEST", line 22
ORA-06512: at line 1
Ultimately what I want is take 1000 names, surnames with highest distinct count in a table and update same 1000 names, surnames to all records(1 Million)in a table.
Please Help.
Thanks & Regards,
Shailesh
-----------------------------------------
CREATE OR REPLACE PROCEDURE ProTest AS
TYPE NameTab IS TABLE OF TblTest.NAME%TYPE INDEX BY BINARY_INTEGER;
TYPE SurNameTab IS TABLE OF TblTest.SurName%TYPE INDEX BY BINARY_INTEGER;
TYPE RidTab IS TABLE OF ROWID INDEX BY BINARY_INTEGER;
Names NameTab;
SurNames SurNameTab;
MyRowId RidTab;
rec_Rowid Binary_Integer;
BEGIN
SELECT Name BULK COLLECT INTO Names FROM (SELECT Name FROM TblTest
GROUP BY Name ORDER BY COUNT(Name) DESC) WHERE ROWNUM<=200;
SELECT SurName BULK COLLECT INTO SurNames FROM (SELECT SurName FROM TblTest
GROUP BY SurName ORDER BY COUNT(SurName) DESC) WHERE ROWNUM<=200;
SELECT ROWID BULK COLLECT INTO MyRowId FROM TblTest ;
FOR rec_Rowid IN MyRowId.FIRST..MyRowId.LAST Loop
UPDATE TblTest
SET myName = Names(rec_Rowid),
mySurName = SurNames(rec_Rowid)
WHERE ROWID = MyRowid(rec_Rowid);
END LOOP;
END;
/
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|