Originariamente inviato da Pandax
io vorrei che ogni giorno il campo scadenza venisse aggiornato
con la differenza tra la data nel campo Abbonamento e la data odierna
pensavo di fare un datediff(d,Abbonamento,getdate()) ma continua a darmi errore dice che non posso usare Abbonamento in quanto colonna.
Il campo scadenza e' meglio che sia un campo cosidetto calcolato e non un campo effettivamente presente nel db. Quindi all'interno delle tue query (o stored procedures) solo nella select metti questo campo il cui valore e' la differenza tra data odierna e la data contenuta in Abbonamento es.
codice:
DATEDIFF(day, Abbonamento, getdate()) AS scadenza
Per quanto riguarda la documentazione, il book di sql e' un valido strumento cosi come msdn. Esistono anche forum microsoft pubblici su sqlserver nei quali si ricevono risposte da esperti (oltre a questo).
Ad esempio per specificare i parametri accettati da una stored procedures, puoi specificare un campo di tipo datetime es.
codice:
CREATE PROCEDURE GetScadenza
@ID int,
@Abbonamento datetime,
@Scadenza int OUTPUT
AS
SELECT @Scadenza = DATEDIFF(day, @Abbonamento, getdate())
FROM tuatabella
WHERE Id = @ID
RETURN
GO
non ho sqlserver su cui fare test dell'esempio quindi occhio ad eventuali errori.