Perguntas Dúvida com query SQL

Mais
10 anos 11 meses atrás - 10 anos 11 meses atrás #14025 por eusouoneto
Bom dia!
Preciso passa os códigos de produtos da SB1 que não existam na SB0 para a SB0.
Fiz o seguinte:
declare @Recno AS INT
declare @produto varchar(15)
SELECT @Recno =MAX(R_E_C_N_O_)+1 FROM SB0000 SB0
select @produto = B1_COD from SB1000 SB1
where not exists (select B0_COD from SB0000 SB0
where B1_COD=B0_COD
and B0_FILIAL=00)
insert into SB0000 (B0_COD,R_E_C_N_O_)
values(@produto,@Recno)

Funcionou, porém só faz um row de cada vez. Desse jeito vou ficar velho clicando em execute.
A dúvida é a seguinte: Como faço pra levar todos os códigos de uma vez?
Se alguém puder ajudar, agradeço.
Att.: Neto
Ultima edição: 10 anos 11 meses atrás por eusouoneto.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #14036 por kanaamlrr
Respondido por kanaamlrr no tópico Dúvida com query SQL
faz um loop utilizando como valor inicial a quantidade de produtos que não tem na SB0 e decrementando.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #14037 por eusouoneto
Respondido por eusouoneto no tópico Dúvida com query SQL
Ola Kanaãm! Obrigado por responder.
Desculpe minha falta de conhecimento, mas como faria esse loop?
Tentei assim, mas tmb n deu certo:

declare @Recno as int
declare @produto varchar(15)
SELECT @Recno = MAX(R_E_C_N_O_)+1 FROM SB0000
select @produto = B1_COD from SB1000 SB1
where not exists (select B0_COD from SB0000 SB0
where B1_COD=B0_COD
and B0_FILIAL=00)
insert into SB0000 (B0_COD,R_E_C_N_O_)
VALUES (@Produto,@Recno + ROW_NUMBER() OVER (ORDER BY R_E_C_N_O_ ASC))

Ocorre o seguinte erro:
Msg 207, Level 16, State 1, Line 9
Invalid column name 'R_E_C_N_O_'.
Msg 4108, Level 15, State 1, Line 9
Windowed functions can only appear in the SELECT or ORDER BY clauses.

Obrigado pela atenção.
Att.: Neto.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #14040 por eusouoneto
Respondido por eusouoneto no tópico Dúvida com query SQL
Fiz assim, ta executando a query, daqui a pouco posto o resultado.

declare @Recno as int
declare @produto varchar(15)
while @produto is null or @produto = ''
SELECT @Recno = MAX(R_E_C_N_O_)+1 FROM SB0000
select @produto = B1_COD from SB1000 SB1
where not exists (select B0_COD from SB0000 SB0
where B1_COD=B0_COD
and B0_FILIAL=00)
insert into SB0000 (B0_COD,R_E_C_N_O_)
VALUES (@Produto,@Recno)

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #14045 por eusouoneto
Respondido por eusouoneto no tópico Dúvida com query SQL
Cara, eu acho q entrou em loop eterno aqui, hehe. Tem uma hora e meia q esta executando a query.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 11 meses atrás #14046 por kanaamlrr
Respondido por kanaamlrr no tópico Dúvida com query SQL
acho que faltou um BEGIN e um END do seu loop, da uma olhada lá na documentação que te passei
acho que ele está executando somente a linha do select max

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.117 segundos
Joomla templates by a4joomla