Tenho um campo que precisa ser selecionado de uma tabela em determinados casos e de outra tabela em outros casos. Estou tentando usar uma variável de macro para resolver de qual tabela selecionar o campo, mas continuo recebendo um erro.
No cenário abaixo, a variável TableValue tem um valor 'abc' com base nas condições determinadas anteriormente em meu programa. A variável é usada na instrução SELECT para fazer referência a uma tabela com esse alias:
SELECT
&TableValue..type as ITEM_TYPE
FROM
rca.items abc
left join rca2.items abcd on rca2.ItemNum = rca.ItemNum
Estou tendo problemas para resolver a variável acima, estou recebendo o seguinte erro:
ORACLE prepare error: ORA-22806: not an object or REF. SQL statement: SELECT
'abc'.type
Qualquer ajuda seria apreciada, suspeito que tenha a ver com aspas simples, mas não consegui substituir, etc. Obrigado!
Se a variável macro TableValue tiver um valor com aspas:
'abc'
a resposta seria remover as aspas.Para depurar isso, faça o programa funcionar sem variáveis de macro:
Depois que isso estiver funcionando, substitua
abc
por uma referência de variável de macro que será resolvida paraabc
.