DECLARE @S FLOAT, @ORD INT = 1
SELECT @S = ISNULL(SUM(price),0) FROM OrderItems WHERE (order_id = @ORD)
SET @S = @S +
( SELECT ISNULL(SUM(OrderItems.price), 0)
FROM OrderItems
INNER JOIN Orders AS P1 ON OrderItems.order_id = P1.row_id
WHERE (P1.parent_id = @ORD))
SET @S = @S +
( SELECT ISNULL(SUM(OrderItems.price), 0)
FROM OrderItems
INNER JOIN Orders AS P1 ON OrderItems.order_id = P1.row_id
INNER JOIN Orders AS P2 ON P1.parent_id = P2.row_id
WHERE (P2.parent_id = @ORD))
SET @S = @S +
( SELECT ISNULL(SUM(OrderItems.price), 0)
FROM OrderItems
INNER JOIN Orders AS P1 ON OrderItems.order_id = P1.row_id
INNER JOIN Orders AS P2 ON P1.parent_id = P2.row_id
INNER JOIN Orders AS P3 ON P2.parent_id = P3.row_id
WHERE (P3.parent_id = @ORD))
SELECT @S
TIME
.DECLARE @I INT = 0
WHILE @I < 24 BEGIN
INSERT [TimeSlot] ([Start Time], [End Time])
VALUES ( CAST( DATEADD( hh, @I, 0 ) AS TIME ), CAST( DATEADD( hh, @I + 1, 0 ) AS TIME ))
SET @I = @I + 1
END
но может есть способыСоздать отдельную таблицу для поиска и помещать туда данные триггерами.
Это не учебный проектА если не учебный, то должен быть Parent, а не Child. У одного продукта — много комплектующих, а не один. А если комплектующее может входить в состав разных продуктов, то вообще нужна отдельная таблица. После приведения структуры к нормальному состоянию, используйте рекурсивный запрос.
SQL09
— именованный экземпляр. Нужно было выбирать имя по-умолчанию.Необходимо создать триггер на удалениеНе нужно.
ALTER TABLE [dbo].[PerformerGenre]
WITH NOCHECK ADD CONSTRAINT [FK_PerformerGenre_Genre] FOREIGN KEY([Genre])
REFERENCES [dbo].[Genre] ([ID])
ON DELETE CASCADE
в курсовой требуется
CREATE TRIGGER deleted_otmetki ON student FOR DELETE
AS
DELETE FROM otmetki WHERE otmetki.kod_studenta = deleted.kod_studenta
GO
LDF
).LDF-файл содержит в себе достаточно информации, чтобы воспроизвести или отменить изменения или, даже, восстановить базу данных на определённый момент времени.