Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 20.07.2010 Ostrzeżenie: (0%)
|
Witam jestem na praktykach i mam pewne zadanie do wykonania jednak mecze sie z nim już dość długo i chyba jednak będę potrzebował pomocy (IMG:style_emoticons/default/smile.gif)
Mianowicie posiadam Tabele z danymi: data - datetime kod - int duplikat - int Problem jest taki żeby trigger po wprowadzaniu nowego rekordu ustawiał w nim duplikat = 1 gdy w przeciągu ostatnich 24h pojawił się już dany kod. napisałem coś takiego: create trigger dbo.duplikaty on dbo.glowna after insert AS /*deklaracja zmiennych @kod - wprowadzany kod @data - wprowadzana data @data1 - wprowadzana data minus 1 dzien */ declare @kod int, @data datetime, @data1 datetime select @kod=inserted.kod from inserted select @data=inserted.data from inserted set @data1=dateadd(d, -1, @data) /* wyszukanie duplikatow kodu dla zakresu 24h wstecz */ update dbo.glowna set duplikat = 1 where @kod=kod and Data BETWEEN CONVERT(DATETIME, @data1, 102) AND CONVERT(DATETIME, @data, 102) Niestety ten trigger nie działa tak jakbym chciał mianowicie jako ze duplikat zmieniany jest po wprowadzeniu danych pierwszy rekord automatycznie jest duplikatem a tego nie chce i druga sprawa trigger stosuje sie do wszystkich danych na danym przedziale a nie tylko do nowo dodanego rekordu. Problem muszę jakoś rozwiązać nie musi to być trigger może źle się za to zabrałem? Pozdrawiam i z góry dziękuje za pomoc |
|
|
|
![]() ![]() |
|
Aktualny czas: 10.06.2026 - 11:10 |