Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Trigger problem
Songok
post
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
Go to the top of the page
+Quote Post

Posty w temacie
- Songok   Trigger problem   20.07.2010, 18:53:20
- - trafas   Witam, Dwie zmiany w trigerze załatwią problem: ...   29.01.2011, 00:17:49


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.06.2026 - 08:44