[ОТВЕТИТЬ]
18.02.2015 07:50
pindejo
 
Собственно сабж.
Как массово это сделать?

Заранее спасибо
18.02.2015 10:41
pindejo
 
Цитата:
vitamin SQL
Дружил бы с ним - вопроса бы и не возникло.
Не затруднит ли написать как запрос выглядит?
18.02.2015 12:43
vitamin
 
Цитата:
pindejo Дружил бы с ним - вопроса бы и не возникло.
Не затруднит ли написать как запрос выглядит?
карты делятся на категории?
19.02.2015 16:04
pindejo
 
Цитата:
vitamin карты делятся на категории?
Нет, без категорий...
19.02.2015 19:39
TANGOR
 
Ну вот например

UPDATE DiscountCards
SET DiscE = DATEADD(year, 1, DiscE)
WHERE DiscE < GETDATE()

скрипт добавляет 1 год всем картам у которых уже закончился срок действия.

либо почитайте по этим функциям как ими пользоваться, либо напишите более детально что именно надо сделать.
каким картам, сколько добавить и т.д.
19.02.2015 19:41
TANGOR
 
этот скрипт например добавляет 6 месяцев конкретным картам из списка..

UPDATE DiscountCards
SET DiscE = DATEADD(MONTH, 6, DiscE)
WHERE BarCode in ('123','124','125')
20.02.2015 08:31
pindejo
 
Цитата:
TANGOR Ну вот например

UPDATE DiscountCards
SET DiscE = DATEADD(year, 1, DiscE)
WHERE DiscE < GETDATE()

скрипт добавляет 1 год всем картам у которых уже закончился срок действия.

либо почитайте по этим функциям как ими пользоваться, либо напишите более детально что именно надо сделать.
каким картам, сколько добавить и т.д.
Спасибо! А если добавить надо 1 год к ещё действующим картам?
20.02.2015 08:34
Mtirt
 
Поправить условие: WHERE DiscE > GETDATE()
20.02.2015 14:12
TANGOR
 
Цитата:
Mtirt Поправить условие: WHERE DiscE > GETDATE()
Ну если действующие тогда уж лучше:

WHERE GETDATE() BETWEEN DiscB and DiscE
16.03.2015 08:04
pindejo
 
UPDATE DiscountCards
SET DiscE = DATEADD(year, 1, DiscE)
WHERE GETDATE() BETWEEN DiscB and DiscE

Запустил, но ничего не происходит...
16.03.2015 08:14
OlegON
 
интересное описание :) а что должно было произойти? команда-то хоть отработала? commit сделал?
16.03.2015 08:29
pindejo
 
Прошу прощения, просто долго запрос обрабатывался, терпения не хватило, вот и заволновался...
Вроде всё получилось, спасибо большое!!!
17.03.2015 11:24
pindejo
 
Всё-таки не вышло. Запрос отработался, но сроки действия карт не изменились...
17.03.2015 13:47
Woodstock
 
а где вы смотрите на сроки действия? в таблицу или в визуализацию crystal?
17.03.2015 20:26
TANGOR
 
Цитата:
pindejo Всё-таки не вышло. Запрос отработался, но сроки действия карт не изменились...
Есть подозрение что у них уже закончился срок действия.

Давай так.
Поставьте конкретную задачу:
Имеются в базе карты, у которых ...
Необходимо сделать так, чтобы ...

и покажите выборку из базы вот этого скрипта:

SELECT TOP 10
Barcode, Name, DiscB, DiscE
FROM DiscountCards
WHERE GETDATE() BETWEEN DiscB and DiscE


или по конкретной карте которую вы проверяете:

SELECT Barcode, Name, DiscB, DiscE
FROM DiscountCards
WHERE Barcode = '1234567890'


где 1234567890 это ШК вашей карты
Опции темы


Часовой пояс GMT +3, время: 18:21.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.