С предыдущим разобрался сам, тут никто не помог((
Второй триггер, надеюсь хоть тут хоть что то да подскажут.
Текст:
Код:
Create table Firma_proizvoditel (
Название_фирмы_производителя nvarchar (20) primary key,
Страна_производства nvarchar (20),
Юридический_адрес nvarchar (20),
Телефон_фирмы_производителя varchar (11)
);
create table Подгруппа_товаров1 (
Группа_товаров integer not null Primary key,
Подгруппа_товаров integer not null
);
Create table Товар (
ID_товара integer not null primary key,
Наименование_товара nvarchar (50),
Номер_сертификата_качества varchar (18),
Цена_товара money,
Название_фирмы_производителя nvarchar (50) NOT NULL FOREIGN KEY REFERENCES Firma_proizvoditel (Название_фирмы_производителя),
Группа_товаров nvarchar (60) NOT NULL FOREIGN KEY REFERENCES Подгруппа_товаров1 (Группа_товаров)
);
Create table Фирма_покупатель (
ID_фирмы_покупателя integer not null primary key,
Название_фирмы nvarchar (18),
Юридический_адрес nvarchar (100),
Телефон_фирмы_покупателя varchar (11),
Номер_лицензии varchar (18),
Банковские_реквизиты varchar (18),
Категория_фирмы nvarchar (18),
Число_заказов int
);
Create table Курс_ДЕ (
Курс_$XRUB int primary key,
Дата date NOT NULL
);
Create table Товарная_накладная (
ID_накладной integer not null primary key,
ID_фирмы_покупателя int NOT NULL FOREIGN KEY REFERENCES Фирма_покупатель (ID_фирмы_покупателя),
ID_банка int NOT NULL,
Дата_оформления date NOT NULL,
Курс_ДЕ int NOT NULL FOREIGN KEY REFERENCES Курс_ДЕ (Курс_$XRUB),
);
Create table Заказ (
ID_заказа int NOT NULL,
ID_товара int NOT NULL FOREIGN KEY REFERENCES Товар (ID_Товара),
ID_накладной int NOT NULL FOREIGN KEY REFERENCES Товарная_накладная (ID_накладной),
Сумма_заказа varchar (4)
);
INSERT INTO
Товар (ID_товара, Наименование_товара, Номер_сертификата_качества, Цена_товара, Название_фирмы_производителя, Группа_товаров)
VALUES
(123456, 'шестерня', 23548654, 265, 'OBK', 'Шестерни')
Insert into
Firma_proizvoditel (Название_фирмы_производителя, Страна_производства, Юридический_адрес, Телефон_фирмы_производителя)
Values
('OBK', 'Китай', 'Китай и т.д.', 89093332211)
Insert into
Подгруппа_товаров1 (Группа_товаров, Подгруппа_товаров)
Values
('Шестерни', 'Запчасти')
Insert into
Фирма_покупатель (ID_фирмы_покупателя, Название_фирмы, Юридический_адрес, Телефон_фирмы_покупателя, Номер_лицензии, Банковские_реквизиты, Категория_фирмы)
Values
(145562, 'ЗАО РЕМОНТ', 'Москва и т.д.', 89085553322, 44625858, 548512, 6485)
Insert into
Курс_ДЕ (Курс_$XRUB, Дата)
Values
('0,01', '2011-11-11')
Insert into
Товарная_накладная (ID_накладной, ID_фирмы_покупателя, ID_банка, Дата_оформления, Курс_ДЕ)
Values
(64845, 654854, 58765, '2011-11-11', 5481246)
Insert into
Заказ (ID_заказа, ID_товара, ID_накладной, Сумма_заказа)
Values
(5484127, 5454, 48485, 2356)
Create table CT (
ID int Identity (1,1)
);
CREATE TRIGGER Число_заказов FOR Фирма_покупатель
active after UPDATE Число_заказов
AS
DECLARE variable Число_заказов VARCHAR(10);
DECLARE variable CT INTEGER;
BEGIN
FOR SELECT Число_заказов FROM Фирма_покупатель
INTO :Число_заказов
BEGIN
SELECT COUNT(*)
FROM Число_заказов
WHERE Число_заказов +1
INTO :CT;
UPDATE Число_заказов
SET Число_заказов = :CT
WHERE Число_заказов = :Число_заказов;
END
END
Задание:
При вставке нового курса валюты производится расчет изменения в абсолютной величине и в процентах, относительно предыдущего.
Т.е. если предыдущий курс равен 50, а вставляемый = 55, то абсолютное увеличение = 5, в процентах = 10. Хранить можно в этой же таблице.