2016-03-30 15 views
3

Ben sütunlu bir tablo tb vardır: Otomatik güncelleme Örneğin

order_id | date_ordered | due_date | status 

var mıdır otomatik olarak status sütun güncelleyebilir kutu çözeltisinden herhangi olduğunda geçerli zaman (sunucudan) due_date sütununun değerine ulaşır? Nasıl yaparım?

Şimdiden teşekkürler.

GÜNCELLEME

: Böyle

şey:

test1 | 2016-03-30 09:19:06.610 | 2016-03-30 11:19:06.610 | NEW 
test2 | 2016-03-30 09:22:43.513 | 2016-03-30 11:22:43.513 | NEW 
test3 | 2016-03-30 09:06:03.627 | 2016-03-30 11:06:03.627 | NEW 

sunucu zaman 2016-03-30 11:19:06.610 ulaşır test1 adlı kullanıcının durum demek değerini değişecek, overdue

+2

bir SQL Server iş kullanın, https://msdn.microsoft.com/en-IN/library/ms190268.aspx –

+0

http://stackoverflow.com/question/5573002/sql-2008-r2-time-based-triggers – sagi

cevap

2

Bu demek istediğini bağlıdır "kutu çözümünün dışında". Due_date değeri geçerli tarih ve saate göre daha az veya eşitse ve durum sütununu değiştirirse, her dakika kontrol eden bir sql server agent işi yaratabilirsiniz.

Hesaplanmış bir sütun başka, çok daha basit bir çözüm olabilir.

Böyle bir tablo yeterli olabilir:

CREATE TABLE tb_test (
    order_id INT PRIMARY KEY, 
    date_ordered DATETIME, 
    due_date DATETIME, 
    [status] as 
    CASE WHEN due_date <= GETDATE() THEN 'overdue' 
    ELSE 'new' END 
); 
+0

nasıl yapılacağını gösterebilir misin? – JanLeeYu

+1

Bir sql sunucu aracı işi oluşturma konusunda birçok iyi öğreticiler vardır. Bunun bir yığın taşması sorununun çok ötesinde olduğunu düşünüyorum. – Mithrandir

+0

Tamam, öyle düşünüyorsanız. – JanLeeYu