Показано с 1 по 6 из 6

Тема: Удаление карт из базы

  1. #1
    Новичок
    Регистрация
    11.07.2014
    Адрес
    Ульяновск
    Сообщений
    9
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)

    Удаление карт из базы

    Добрый день! Уважаемые есть у кого то пример sql скрипта с помощью которого можно удалить не нужные зарегистрированные в базе карты? Или может это можно сделать через managment studio ? Подскажите как удалить карты из базы. Спасибо!

  2. #2
    Разбирающийся
    Регистрация
    18.10.2012
    Адрес
    Новосибирск, Омск
    Сообщений
    5,362
    Поблагодарил(а)
    188
    Благодарностей: 461 (сообщений: 364)
    А зачем?

    Удалить карты, если по ним были кассовые операции и игры - это геморройная задачка.
    Слишком много связанных таблиц нужно будет обработать и не накосячить.

  3. #3
    Новичок
    Регистрация
    11.07.2014
    Адрес
    Ульяновск
    Сообщений
    9
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Цитата Сообщение от sibgaba Посмотреть сообщение
    А зачем?

    Удалить карты, если по ним были кассовые операции и игры - это геморройная задачка.
    Слишком много связанных таблиц нужно будет обработать и не накосячить.

    Нет, удалить те которые еще не заюзаны

  4. #4
    Разбирающийся
    Регистрация
    18.10.2012
    Адрес
    Новосибирск, Омск
    Сообщений
    5,362
    Поблагодарил(а)
    188
    Благодарностей: 461 (сообщений: 364)
    Тем более не понимаю - Зачем???

    В зависимости от версии GK с которой вы работаете это будут разные таблицы. Какая версия?

    Если у вас сохранились скрипты, при помощи которых карты добавлялись в БД, то в них вы можете увидеть в какую таблицу шло добавление, и соответственно просто удалить добавленные записи из этих таблиц.

    Если версия старая (до 3,16 по моему), то это были 2 таблицы в 2-х базах. Если от 3.16 до 3.2Х, то там одна таблица. В самых старших версиях (там где карты добавляются в БД через Редактор) - не смотрел.

  5. #5
    Интересующийся
    Регистрация
    20.09.2013
    Адрес
    Москва
    Сообщений
    45
    Поблагодарил(а)
    0
    Благодарностей: 2 (сообщений: 1)
    С версии 3.23 если я не ошибаюсь, карты удаляются вот этим запросом:

    Сначала


    Delete gk.GK_CARDS_EXT
    where card = ....




    Потом


    Delete gk.GK_CARDS
    where card = ....

    Если хотите удалить какой то диапазон карт, то запрос такой:

    Сначала

    Delete gk.GK_CARDS_EXT
    where card >= 1089000
    and card <= 1090000

    Потом

    Delete gk.GK_CARDS

    where card >= 1089000
    and card <= 1090000

  6. #6
    Разбирающийся Аватар для NeiroN
    Регистрация
    30.01.2015
    Адрес
    Ижевск
    Сообщений
    119
    Поблагодарил(а)
    0
    Благодарностей: 5 (сообщений: 3)
    Я бы сделал так для версии 3.23
    ковыряю базу достаточно давно, знаю что и для чего.
    Код:
    DECLARE @CARD int
    DECLARE upd CURSOR READ_ONLY FOR
    SELECT [CARD] FROM [gkArcade].[gk].[GK_CARDS] 
    WHERE [STATE] in(2,3) --Замененные(3) и удаленные(2) карты
    -- WHERE [STATE] = 1 -- Активные карты
    -- WHERE [STATE] = 0 -- Неактивные карты(для продажи)
    -- WHERE [CARD] >= 3670 AND [CARD] <= 3744 -- Карты по номерам
    OPEN upd
    FETCH NEXT FROM upd INTO @CARD
    WHILE (@@FETCH_STATUS <> -1) BEGIN
    --PRINT "Удаляем "+@CARD
    DELETE [gkArcade].[gk].[GK_CARDS] WHERE [CARD]=@CARD -- таблица карт
    DELETE [gkArcade].[gk].[GK_CARDS_EX] WHERE [CARD]=@CARD -- персональная информация
    DELETE [gkArcade].[gk].[GK_CARDS_EXT] WHERE [CARD]=@CARD -- хэши кодов карт
    DELETE [gkArcade].[gk].[GK_CARDS_PHOTO] WHERE [CARD]=@CARD -- фото владельцев
    DELETE [gkArcade].[gk].[GK_CARDS_CO] WHERE [CARD]=@CARD -- для охранного поста
    FETCH NEXT FROM upd INTO @CARD
    END
    CLOSE upd
    А вообще карты лучше не удалять - потому что коды стоят денег - лучше обеспечить ротацию замененных и утеряных карт.
    Покупаешь 5000 кодов - а в базе есть еще 10000 кодов не проданных(неактивированны ) карт - просто самих карт нет. Так что имея 50000 карт можно вполне обходиться без генерации кодов.
    Последний раз редактировалось NeiroN; 07.02.2015 в 20:39.

Похожие темы

  1. Удаление несохраненного блюда
    от zuch в разделе R-Keeper 6
    Ответов: 7
    Последнее сообщение: 29.06.2016, 14:07
  2. Ответов: 41
    Последнее сообщение: 03.06.2016, 22:13
  3. Удаление дня из RK7
    от deport в разделе R-Keeper 7
    Ответов: 7
    Последнее сообщение: 05.02.2016, 12:44
  4. Ответов: 5
    Последнее сообщение: 12.09.2013, 16:56
  5. Удаление товаров в R-k.
    от Олька в разделе SH: Организация и ведение учета
    Ответов: 6
    Последнее сообщение: 15.01.2013, 18:31

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •