Como inserir em uma tabela resultado de uma consulta?
16/04/2008
0
Preciso inserir na tabela DESC os seguintes dados: matricula, sequencial, codigo e valor, isso quando a turma destes alunos for igual a “ADMIN” (campo turma na tabela TURMASS)
Os dados são os seguintes:
matricula = campo matricula na tabela TURMASS
seqüencial = ultimo sequencial gravado na tabela DESC + 1
código = um valor fixo (Exemplo: 01)
valor = um valor fixo (Exemplo: 100.0)
Estou iniciando no SQL agora e pesquisei em diversos lugares e não encontrei nenhuma dica que me ajudasse nesse caso. Estou usando MS-SQL 2000, se alguém puder me dar uma luz...
Valew galera
Antoniomoraes
Posts
17/04/2008
Emerson Nascimento
insert into DESC select matricula, (select max(desc)+1 from desc), ´01´, 100 from turmass where turma = ´ADMIN´
outra coisa: renomeie esta tabela DESC. desc é uma palavra reservada do sqlserver.
17/04/2008
Antoniomoraes
insert into DESCALU
select
matricula, ´10´,
(select max(dca_cod)+1 from descalu),
´01´,
100
from
turmass
where
turma = ´ADMIN´
O único problema é que o numero sequencial -> (select max(dca_cod)+1 from descalu) gera o mesmo numero para todos os alunos, ou seja, se tiver 30 alunos na turma, ele deveria gerar os numeros 11, 12, 13 ... 41 e assim por diante, mas ele insere 11 para todos. Tentei fazer declarando uma variavel como abaixo, mas o resultado é o mesmo.
DECLARE @sequencial INT
SELECT @sequencial = (select max(dca_cod)+1 from descalu)
insert into DESCALU
select
matricula, ´10´,
(sequencial),
´01´,
100
from
turmass
where
turma = ´ADMIN´
Valew
Clique aqui para fazer login e interagir na Comunidade :)