Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IF EXISTS(SELECT *
- FROM sys.objects
- WHERE [name] = 't_conference_conference_day_connection' AND TYPE = 'TR')
- DROP TRIGGER [dbo].[t_conference_conference_day_connection]
- GO
- CREATE TRIGGER [dbo].[t_conference_conference_day_connection]
- ON [dbo].[conference_days]
- AFTER INSERT, UPDATE, DELETE
- AS
- BEGIN
- IF EXISTS(SELECT *
- FROM inserted AS i LEFT OUTER JOIN conferences AS c ON i.conference_id = c.id
- WHERE c.start_time = NULL)
- THROW 50000, 'Conference id not in database', 1
- IF EXISTS(SELECT *
- FROM inserted AS i INNER JOIN conferences AS c
- ON c.id = i.conference_id AND i.[day] NOT BETWEEN c.start_time AND c.end_time)
- THROW 50000, 'Conference day not in conference time', 1
- -- TODO
- -- nie działa. cholera wie czemu, przerobiłem to, dalej nie działa, nie mam pomysłu co może kolidować (odpalaj z generatorem).
- IF EXISTS(SELECT *
- FROM inserted AS i INNER JOIN conference_days AS cd
- ON cd.[day] = i.[day]
- AND cd.[conference_id] = i.[conference_id]
- where cd.id <> i.id)
- THROW 50000, 'There is already a conference day in this date', 1
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement