Sample Header Ad - 728x90

Executing an oracle variable string as I do in SQL Server

1 vote
1 answer
1857 views
In SQL Server I can do something like: DECLARE @VAR VARCHAR(100); SELECT @VAR = SELECT * FROM SYS.DATABASES EXECUTE(@VAR) How can I execute a string that I've created inside a variable in Oracle? This is the query: DECLARE BUSCACOLUNA VARCHAR(2000); BEGIN BUSCACOLUNA:= 'SELECT '' SELECT '' || LTRIM(listagg ( '' , '' || ''"'' || T1.COLUMN_NAME || ''"'' || '' AS '' ||''"''|| T2.DESCRICAO ||''"'' ) within group ( order by t1.column_name ),'' , '') || '' FROM TABELA_ENTRADA '' FROM ALL_TAB_COLUMNS T1 INNER JOIN TABBASE T2 ON T1.COLUMN_NAME=T2.NO_COL_TABBASE WHERE T1.TABLE_NAME=''TABELA_ENTRADA'' AND T2.CD_CONTEUDO_ARQUIVO= ''X'''; END; The result of that dynamic SQL is something like: SELECT C1 AS B1, C2 AS B2...FROM TABLE And I would like to execute this SELECT by executing the VARIABLE. I tried with a loop, with EXECUTE IMMEDIATE but the query only returns: > anonymous block completed So I can understand it's working. If it was an UPDATE or INSERT, it would work, But I would like the return of that.
Asked by Racer SQL (7546 rep)
Jul 1, 2019, 09:13 PM
Last activity: May 7, 2025, 07:08 PM