user3206995 wrote:if you don't want to write all column names in select, you can use only select * ...
Sorry for being vauge but the question is more why would someone choose to use x.*
If you must to select all columns, you can use aliases as follows
select substr(...), colname1, colname2 as cc2, ...
because of you can't use the asterix with an column name specified (example: select colname1 as cn1, * from table_name)
select substr(a.col,...), a.* from table_name a
user3206995 wrote:change the logic so that you can process data partly, and then commit.
ORA-1652: unable to extend temp segment by 128 in tablespace
it actually has
select x.hist, x.date, x.name ...etc, x.*
As for temp space, it uses a lot of hash joins and a window sort, so unless you can either restrict the row set early (so the hashes are smaller) or change it to nested-loops (which may be much slower - but I don't know your data) you might just need a lot of space to achieve the requirement.
select ora_hash(x.hist || '|' || x.date || '|' || x.name ...etc) as table_b_checksum, x.*