Limite da Oracle LIMIT e 1000 da coluna
Eu tenho uma consulta SQL que se parece com isso:
SELECT foo "c0",
bar "c1",
baz "c2",
...
FROM some_table
WHERE ...
Para aplicar um limite e retornar apenas um subconjunto de registros dessa consulta, utilizo o seguinte wrapper SQL:
SELECT *
FROM (
SELECT t.*,
ROW_NUMBER() OVER (ORDER BY ...) rnum
FROM (
... original SQL goes here ...
) t
)
WHERE rnum BETWEEN 1 AND 10
Meu problema é que a consulta original está selecionando mais de 1.000 colunas em um grande número de uniões para outras tabelas. O Oracle tem um limite interno de 1.000 colunas por tabela ou exibição e, aparentemente, o wrapper SQL que estou usando para limitar o conjunto de resultados está criando uma exibição temporária à qual esse limite é aplicado, fazendo com que a coisa toda falhe.
Existe outro método de paginação que não cria tal visão, ou que não seria afetado pelo limite de 1000 colunas?
Não estou interessado em sugestões para dividir o trabalho em partes, não selecionar> 1000 colunas, etc., pois já estou totalmente ciente de todos esses métodos.