2016-10-05 2 views
1

Я создал таблицу, используя следующий запрос в базе данных SQL Server Appointment-20160925160528 для графика доктора назначенияКак написать хранимую процедуру в SQL Server для изменения значения столбцов после определенного времени

SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

CREATE TABLE [dbo].[doctorschedule1] 
(
    [id] [int] NULL, 
    [date] [nchar](10) NULL, 
    [8:00Am] [nchar](10) NULL, 
    [8:15Am] [nchar](10) NULL, 
    [8:30Am] [nchar](10) NULL, 
    [8:45Am] [nchar](10) NULL, 
    [9:00Am] [nchar](10) NULL 
) ON [PRIMARY] 
GO 

Есть пяти колонок названный | 8:00AM | 8:15AM | 8:30AM | 8:45AM | 9:00AM | и значение столбца

| Booked | Available | Available | Booked | Available | 

После создания таблицы таблица выглядит следующим образом:

8:00 утра8:15 утра8:30 утра8:45 утра8:00 AM ..
БронированияДоступноДоступенБронированияДоступные

Теперь я хочу изменить значение столбца 8:00 утра от Бронирования к Доступен, если текущее время системы 7 часов 44 минут и 59 секунд 7:44:59 AM

Как написать хранимую процедуру, которая проверяет ток системного времени, а затем изменить значение столбца? Поскольку я очень новичок в базах данных SQL Server. Любой рабочий пример будет очень полезен для меня и рассказать спасибо за ваше прекрасное время.

+0

http://stackoverflow.com/questions/4079363/can-i-get-sql-server-to-call-a-stored Ссылка -proc-every-n-seconds может помочь –

+0

@DeepakSharma спасибо за ссылку, интересное решение! – gofr1

+1

Другим способом является использование задания, которое в определенном графике внесет необходимые изменения. – gofr1

ответ

0

Ну, если вы действительно хотите оптимизировать это, создайте еще одну таблицу с столбцом timestamp и вставьте значения там, когда произойдет appoinment, и удалите текущую таблицу. То, что вы делаете, довольно уродливо и неэффективно.

На ваш вопрос, сделайте это в своем приложении. Проверьте свое текущее время, если оно выше всех перечисленных значений. Обновите их соответственно.