2012-02-09 5 views
5

Mam zadanie automatycznego naliczania wszystkich zarejestrowanych pacjentów w tabeli PatientsInfo w rocznym rachunku N2,500 w kolumnie DateCreated.Jak automatycznie dodawać datę roczną do istniejącej daty w SQL Server

Z pewnością użyję procedury przechowywanej, aby wstawić te rekordy do tabeli PatientDebit i utworzyć zadanie SQL, aby wykonać tę procedurę.

Jak będę select * pacjenci PatientsInfo stole gdzie DateCreated obecnie 1-latkiem mi wstawić do innej tabeli PatientDebit.

Mam algorytmu takiego:

  1. wybierz datę rejestracji dla pacjentów z PatientsInfo tabeli
  2. Dodaj 1 roku do ich DateCreated
  3. data jest dodana dzisiaj? Jeśli tak, to
  4. Wstaw rekord do tabeli PatientDebit z rachunkiem N2,500
  5. Jeśli nie, nie rób nic.

Jak mogę napisać scenariusz?

+1

Google "dateadd" – mbeckish

+0

Jak to jest związane z C#? (Edycja: usunięty tag) –

+0

Lub google "datediff", jeśli chcesz czas między 2 datami. – mbeckish

Odpowiedz

0

powinna istnieć funkcja .add lub addyear() w sql. Dodajesz jak .add (rok, dzień, miesiąc). Czytaj po sql datetime dodaj rok, miesiąc i sekundy. To jest całkiem proste. To jest po prostu jak C#.

Dateadd (informacje). teraz jest czas. getdate().

6

Zakładając kolumnach 2 stoliki są takie same:

INSERT INTO PatientDebit 
SELECT * from PatientsInfo WHERE DateCreated<DATEADD(year, -1, GETDATE()) 

Upewnij się, że wskaźnik na DateCreated jeśli PatientsInfo ma wiele rekordów, ponieważ może potencjalnie być powolny, w przeciwnym razie

+0

To działa dla mnie. – Rahmat

+0

Cieszę się, że to zrobiłem! Może mógłbyś wtedy rozważyć przyjęcie odpowiedzi? – Johann

Powiązane problemy