Раньше у нас была ступенчатая система накопления карт, в настоящее время внедряем новую систему карт с фиксированной скидкой 2%. В следствии чего что у нас при выгрузке с txt файла списка карт происходит выгрузка карт нормально, но без присвоенных 2% и хотелось бы чтобы автоматически при выгрузке присваивался процент скидки 2% , а так же период действия карт (срок). Так как в каждую карту заходить и менять скидку и сроки действия думаю не целесообразно.
Скрипт который мы используем указан ниже так же прикреплен ниже.
Как указать чтобы выгрузка была с 2% скидкой
Процедура
CREATE PROCEDURE DiscountCardLoadDataFromFile
@fileName nvarchar(1000),
@CardCategory smallint,
@CustomerCategory smallint,
@algoritm smallint
as
--loading data to temp table
create table #cardNumbers (cardNumber varchar(50))
exec ('bulk insert #cardNumbers from "' + @fileName + '"')
declare @cardNumber varchar(50)
DECLARE cursorOfCardNumbers CURSOR FAST_FORWARD
FOR (SELECT cardNumber FROM #cardNumbers)
OPEN cursorOfCardNumbers
FETCH NEXT FROM cursorOfCardNumbers INTO @cardNumber
WHILE @@FETCH_STATUS = 0
BEGIN
if (select BarCode from DiscountCards where BarCode = @cardNumber) is null
begin
declare @customerId int
select @customerId = MAX(Id) + 1
from Customer
insert into Customer (Id, Familia, Category, Status, Procent, algoritm)
values(@customerId, 'Позвоните 5555', @CustomerCategory,0, 0, @algoritm)
insert into DiscountCards (Id, BarCode, Category, Customer, CardName, Perc, MaxCredit)
Select(select MAX(Id) + 1 from DiscountCards), @cardNumber, @CardCategory, @customerId, left(@cardNumber,4) + '********' + right(@cardNumber,4), 0, 0
end
FETCH NEXT FROM cursorOfCardNumbers INTO @cardNumber
END
CLOSE cursorOfCardNumbers;
DEALLOCATE cursorOfCardNumbers;
drop table #cardNumbers
GO
Джобик
Declare @fileName nvarchar(1000),
@CardCategory smallint,
@CustomerCategory smallint,
@algoritm smallint
Set @fileName='C:\CardImport\Cards.txt'
Set @CardCategory = 1
Set @CustomerCategory =3
Set @algoritm = 4
Прошу помочь. что дописать чтобы было сразу в картах 2%