Olá,
Preciso criar uma procedure que futuramente gerará informações para um relatório, essa procedure gerará um relatório com uma determinada data de corte, ou seja vou ter uma consulta onde consulto todos os registros, depois eu faço um tratamento via cursor para selecionar somente os registros que estão com a sua situação igual a 2 e suas datas estão dentro da data de corte. Muito bem nunca trabalhei com cursores, mas li alguma coisa em um tutorial sobre o assunto e consegui caminhar até aki, será que alguém pde me ajudar daqui para frente.
Obrigado,
CREATE PROCEDURE sp_relcorte (@v_datacorte datetime) AS
DECLARE Cur_Buscacorte cursor for
SELECT Veiculo.Situacao,
Veiculo.DataCompra,
Veiculo_Marca.Descricao As Marca,
Veiculo_Modelo.Descricao As Modelo,
Veiculo_ModeloTipo.Descricao As Tipo,
Veiculo_Combustivel.Descricao As Combustivel,
Veiculo.Placa, Veiculo_Cor.Descricao As Cor,
Veiculo.AnoModelo, Veiculo.ValorVenda ,
Veiculo.Acessorios
FROM
Veiculo
INNER JOIN Veiculo_ModeloTipo On
Veiculo.Marca = Veiculo_ModeloTipo.Marca And
Veiculo.Modelo = Veiculo_ModeloTipo.Modelo And
Veiculo.Tipo = Veiculo_ModeloTipo.Codigo
INNER JOIN Veiculo_Modelo On
Veiculo.Marca = Veiculo_Modelo.Marca And
Veiculo.Modelo = Veiculo_Modelo.Codigo
INNER JOIN Veiculo_Marca On
Veiculo.Marca = Veiculo_Marca.Codigo
INNER JOIN Veiculo_Cor On
Veiculo.Cor = Veiculo_Cor.Codigo
INNER JOIN Veiculo_Combustivel On
Veiculo.Combustivel = Veiculo_Combustivel.Codigo
Open Cur_Buscacorte
FETCH next from Cur_Buscacorte
while @@FETCH_STATUS = 0
BEGIN
if veiculo.Situacao = 2 and veiculo.DataCompra < @v_datacorte
select top 1 Veiculo_Movtos.Situacao, valorvenda from Veiculo_Movtos, veiculo where
Veiculo_Movtos.Placa = veiculo.Placa and Veiculo_Movtos.data < @v_datacorte
END