Select Insert Into não roda, dá erro
26/07/2011
0
Pjava
Posts
26/07/2011
Marco Pinheiro
Informe qual o erro ocorre na execução.
Lembrando que todos os campos envolvidos nesta consulta devem ser VARCHAR ou CHAR.
Att.,
Marco.
26/07/2011
Emerson Nascimento
tipo + ',' + convert(varchar(6),num_max) + ',' + aplicacao + ',' + mascara + ',' + convert(varchar(6),qtd_caracter) + ')'
from indice
o trecho destacado deveria ter apenas 1 parêntesis.
select 'INSERT INTO CONHECIMENTO_CARGA VALUES(' + Convert(varchar(6),cod_indice) + ',' + titulo + ','+
tipo + ',' + convert(varchar(6),num_max) + ',' + aplicacao + ','+mascara + ',' + convert(varchar(6),qtd_caracter) + ')'
from indice
26/07/2011
Pjava
26/07/2011
Emerson Nascimento
1. não gera a linha
2. gera com valores default
no segundo caso você pode usar a função COALESCE(). ela retorna o primeiro valor não-nulo da lista.
assim:
select 'INSERT INTO CONHECIMENTO_CARGA VALUES(' + Convert(varchar(6),coalesce(cod_indice,0)) + ',' + coalesce(titulo,'sem titulo') + ',' +
coalesce(tipo,'sem tipo') + ',' + convert(varchar(6),coalesce(num_max,100)) + ',' + coalesce(aplicacao,'sem aplicacao') + ','+ coalesce(mascara,'sem mascara') + ',' + convert(varchar(6),coalesce(qtd_caracter,0)) + ')'
from indice
10/11/2011
Gabriel Soares
Uma função que geralmente utilizo nestes casos é a ISNULL.
Ela busca os valores nulos na tabela e substitui pelo que você colocar como parâmetro.
Sintaxe: ISNULL(coluna_que_contém_nulos, valor_subtituto)
Ex.:
select ISNULL(cast(REGRANOVA as varchar(500)), TESTE ) from REGRASNOVAS --> Em todos os campos que tiver "NULL", vai ser trocado por "TESTE".
Espero que ajude.
10/11/2011
Gabriel Soares
Substituindo os mesmo pelo testo "NULL", ficaria assim.
select insert into conhecimento_carga values( + isnull(convert(varchar(6),cod_indice), null + , +
isnull(titulo,null) + , + isnull(tipo,null) + , +
isnull(convert(varchar(6),num_max),null)
+ , + isnull(aplicacao,null) + , + isnull(mascara,null) + , +
isnull(convert(varchar(6),qtd_caracter),null) + ) from indice
Abraço!
Clique aqui para fazer login e interagir na Comunidade :)