INSERT INTO COM SELECT E VARIAVEIS

CSAPI 30/04/2013 11:18:15
#422719
Bom dia a todos.
Estou com um problema com insert into e gostaria de saber se alguém poderia me ajudar, preciso incluir informações em uma determinada tabela usando insert into com select mas usando variáveis também é possível? Seria mais ou menos assim:

inset into tabela1 (campo1,campo2,campo3,campo4) setect campo1,[ô] variavel [ô],[ô] 2 [ô],campo4 from tabela2 where condição.

Alguém saberia uma forma que eu pudesse inserir uma variável ou um (numero) direto no meio do select?

Fico no aguardo da ajuda dos colegas.

Cláudio Arrivabene
CASTELO 30/04/2013 13:01:30
#422724
Ola Claudio

Eu utilizo assim

insert into tb_notas (id_aluno,id_disciplina,id_serie,id_turma,N1B,R1B,F1B,FR1B,ano,id_matric,resultado,escola)
Select [Ô] & codigoaluno.Text & [Ô],[Ô] & DISC & [Ô],[Ô] & serieID & [Ô],[Ô] & turmaID & [Ô],N1B,R1B,F1B,FR1B,[Ô] & ANO & [Ô],[Ô] & MAT & [Ô],resultado,[Ô] & aescola & [Ô] from tb_notas where id_disciplina = [Ô] & DISC & [Ô] and id_matric = [Ô] & MAT_ANT & [Ô][Ô]

Explicando, gravo na tabela notas dados da própria tabela, porém da matricula anterior. No seu caso você só troca pela tabela que você quer fazer o SELECT.

Uma questão que deves saber é que os TIPOS de dados devem ser compatíveis para evitar TYPE MISMATCH.

Att.,
Eliseu
EXPERT 30/04/2013 13:19:26
#422727
Resposta escolhida
Olá,

Um exemplo bem simples:

INSERT INTO tabela1 (campo1, campo2)
SELECT campo1, 2 AS campo2
FROM tabela2
WHERE condição


Repare que para inserir um número (ou variável), basta criar um alias.

Dê uma olhada tbm aqui:http://msdn.microsoft.com/pt-br/library/ms188263%28v=sql.105%29.aspx

Espero ter ajudado. Fique com Deus.
GRIFFON17 30/04/2013 14:17:20
#422733
Vou te ajudar:

Para inserir uma variável, dentro do INSERT faça como abaixo: (obs: todos os textos estão em [txt-color=#e80000]vermelho[/txt-color])

[txt-color=#007100][ô]Declarando suas variáveis[/txt-color]
Dim variavel01 as string = [txt-color=#e80000][Ô]texto01[Ô][/txt-color]
Dim variavel04 as string = [txt-color=#e80000][Ô]texto04[Ô][/txt-color]

[txt-color=#007100][ô]Executando o comando[/txt-color]
CN.Execute([txt-color=#e80000][Ô]INSERT INTO tabela1 (campo1,campo2,campo3,campo4) VALUES ([ô][Ô][/txt-color] & variavel01 & [txt-color=#e80000][Ô][ô],[ô]texto02[ô],[ô]texto03[ô],[ô][Ô][/txt-color] & variavel04 & [txt-color=#e80000][Ô][ô])[Ô][/txt-color])

O computador irá ler o comando da seguinte forma:
[txt-color=#e80000][Ô]INSERT INTO tabela1 (campo1,campo2,campo3,campo4) VALUES ([ô]texto01[ô],[ô]texto02[ô],[ô]texto03[ô],[ô]texto04[ô])[Ô][/txt-color]

Tópico encerrado , respostas não são mais permitidas