SQL SERVER INSERIR DADOS MULTIPLICADO PELA VARIAVEL
13/03/2021
0
ex:
contrato de trabalho :
valor do contrato 500,00
mensalidade 5
valor mensal 100,00
na minha tabela tem
idcontrato
valorcontrato
mensal
valormensal
datavencimento1
datavencimento2
datavencimento3
datavencimento4
datavencimento5
hoje coloco um insert da seguinte maneira
datavencimento1 = date()+1m
datavencimento2 = date()+2m
etc ... até o datavencimento5
mas vem a duvida... caso eu queira dividir só em 2x consigo fazer dentro do sql uma multiplicação
exemplo:
caso mensal = 2
insert
datavencimento1 = date()+1m
datavencimento2 = date()+2m
caso mensal = 3
datavencimento1 = date()+1m
datavencimento2 = date()+2m
datavencimento3 = date()+3m
e assim vai
ou tenho que fazer isso na programação.
ps: ja tenho isso dentro no ASP Classico queria fazer direto pelo banco
Paulo Victor
Post mais votado
14/03/2021
insert into tabela (valorcontrato, mensal, valormensal, datavencimento1, datavencimento2, datavencimento3, datavencimento4, datavencimento5) values ( @valorcontrato, @mensal, @valormensal, dateadd(m, 1, getdate()), -- vencimento 1 case(@mensal > 1 then dateadd(m, 2, getdate()) else null end), -- vencimento 2 case(@mensal > 2 then dateadd(m, 3, getdate()) else null end), -- vencimento 3 case(@mensal > 3 then dateadd(m, 4, getdate()) else null end), -- vencimento 4 case(@mensal > 4 then dateadd(m, 4, getdate()) else null end) -- vencimento 5 )
dica: esta modelagem não é uma boa prática. o dia que precisar aumentar o número de parcelas você terá de manipular a tabela.
o ideal é gravar a data de início da vigência do contrato e, ter uma outra tabela para guardar o parcelamento ou calcular o parcelamento em tempo real e apresentar em tela.
Emerson Nascimento
Mais Posts
14/03/2021
Paulo Victor
esqueci de falar uma coisa . a minha dificuldade é que a parcela pode chegar até a 90 parcelas
não tem como fazer alguma coisa automática ?
ou tem que fazer case até o 90
14/03/2021
Emerson Nascimento
31/05/2021
Paulo Victor
obrigado meu amigo . esqueci de responder aqui . fiz com procedure vlw
Clique aqui para fazer login e interagir na Comunidade :)