- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- ATUALIZAR TABELA VIA ROTINA EM SQL
×
Linguagem de Programação ADVPL
Perguntas ATUALIZAR TABELA VIA ROTINA EM SQL
- alexpeixe
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 27
- Obrigados Recebidos: 0
11 anos 9 meses atrás #9835
por alexpeixe
ATUALIZAR TABELA VIA ROTINA EM SQL foi criado por alexpeixe
4. Situação (Módulo Estoque / Estoques - Saldo em Estoque): Peguei um campo virtual(B2_DPROD), criei
outro semelhante real(B2_DPRO), configurar um gatilho para trazer a partir do campo B2_COD a
descrição do produto e gravar. Para os itens novos Ok, mas estamos tentando configurar de alguma
maneira que também atualize os registros já gravados. Tenho a idéia de realizar essa atualização dos registros
já gravados via rotina, pode ser usando sql, mas não sei por onde começar. Abaixo um esboço mas sou novato
nessa área de programação:
cQry := "SELECT "
cQry += "B1_COD, B1_DESC"
cQry += "FROM "
cQry += RetSqlName("SB1") + " SB1, "
cQry += RetSqlName("SB2") + " SB2 "
cQry += "WHERE "
cQry += "SB1.B1_COD = SB2.B2_COD AND "
.
.
.
.
.
É por ai??
outro semelhante real(B2_DPRO), configurar um gatilho para trazer a partir do campo B2_COD a
descrição do produto e gravar. Para os itens novos Ok, mas estamos tentando configurar de alguma
maneira que também atualize os registros já gravados. Tenho a idéia de realizar essa atualização dos registros
já gravados via rotina, pode ser usando sql, mas não sei por onde começar. Abaixo um esboço mas sou novato
nessa área de programação:
cQry := "SELECT "
cQry += "B1_COD, B1_DESC"
cQry += "FROM "
cQry += RetSqlName("SB1") + " SB1, "
cQry += RetSqlName("SB2") + " SB2 "
cQry += "WHERE "
cQry += "SB1.B1_COD = SB2.B2_COD AND "
.
.
.
.
.
É por ai??
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #9837
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico ATUALIZAR TABELA VIA ROTINA EM SQL
UPDATE SB2010
SET B2_DPRO = B1_DESC
FROM SB1010
WHERE B2_COD = B1_COD
AND B2_DPRO = ''
AND SB2010.D_E_L_E_T_ = ''
AND SB1010.D_E_L_E_T_ = ''
AND B2_FILIAL = B1_FILIAL (SE SEU CADASTRO DE PRODUTO FOR EXCLUSIVO, COLOCA ESTA LINHA, SENÃO FOR, NÃO PRECISA INSERI-LA OK)
POR FAVOR FAÇA UM BACKUP ANTES.
ABRAÇOS.
SET B2_DPRO = B1_DESC
FROM SB1010
WHERE B2_COD = B1_COD
AND B2_DPRO = ''
AND SB2010.D_E_L_E_T_ = ''
AND SB1010.D_E_L_E_T_ = ''
AND B2_FILIAL = B1_FILIAL (SE SEU CADASTRO DE PRODUTO FOR EXCLUSIVO, COLOCA ESTA LINHA, SENÃO FOR, NÃO PRECISA INSERI-LA OK)
POR FAVOR FAÇA UM BACKUP ANTES.
ABRAÇOS.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- alexpeixe
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 27
- Obrigados Recebidos: 0
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #9845
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico ATUALIZAR TABELA VIA ROTINA EM SQL
Ele vai atualizar a tabela inteira apenas os registros que estiverem com B2_DPROD = VAZIO.
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- alexpeixe
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 27
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- ATUALIZAR TABELA VIA ROTINA EM SQL
Tempo para a criação da página:0.101 segundos