Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde amigos,
Estou tentando resolver um problema criando uma view
TABELA RESPOSTAS
CAMPOS ID(INTEGER), RESPOSTA(VARCHAR(1020)), SEQUENCIA(INTEGER)
O problema está no fato de quando o campo RESPOSTA ultrapassa o limite de 1020 caracteres ele quebra a linha e insere na próxima tupla com o mesmo ID e acrescenta um ao SEQUENCIA.
Ex:
ID = 1234
RESPOSTA = Matemática[,]Portugués[,]Química[,]Física[,]História[,]Biologia[,]Sociologia[,]Geogr
SEQUENCIA = 1
ID = 1234
RESPOSTA = afia[,]Religião
SEQUENCIA = 2
Preciso criar uma view que junte as resposta quebradas e depois coloque cada disiciplina em uma linha com o seu respectivo ID.
Ex:
ID = 1234
RESPOSTA = Matemática
ID = 1234
RESPOSTA =Portugués
ID = 1234
RESPOSTA =Química
ID = 1234
RESPOSTA =Física
Alguém tem uma ideia de como fazer?
Desde já, muito obriagado.
Olá Motta,
Eu havia tentado dessa forma;
select REGEXP_SUBSTR(str, exp, 1, level) lista
from UPV_DISC_IMPACTO, (select UPV_DISC_IMPACTO.DISCIPLINAS str, '[^/]+' exp
from UPV_DISC_IMPACTO) connect by REGEXP_SUBSTR(str, exp, 1, level) is not null;
Porém ele não para de mesclar e cria diversas linhas repetidas.
Tem mais alguma ideia ou exemplo de como posso resolver isso?
Nunca usei esta function REGEXP_SUBSTR
Veja isto, talvez precise usar também uma function para concatenar todas as strings, veja isto.