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

Тема: Структура БД, ошибка при вставке записи

  1. #1
    Сведущий Аватар для Alexem
    Регистрация
    17.07.2014
    Адрес
    Омск
    Сообщений
    79
    Поблагодарил(а)
    7
    Благодарностей: 32 (сообщений: 18)

    Структура БД, ошибка при вставке записи

    ГК 3.25

    Пытаюсь вставить в таблицу Transacts любую строчку, ругается на поля с форматом datetime, насколько я понимаю.
    Гуглёж не помогает.

    INSERT INTO [gkArcade].[gk].[TRANSACTS_test3] (
    [id]
    ,[date]
    ,[ACTIVITY]
    ,[CARD]
    ,[EMPLOYEE]
    ,[VALUE1]
    ,[UNIT1]
    ,[QUANT]
    ,[CREATOR]
    ,[CREATORADDR]
    ,[LEVEL]
    ,[DEAL]
    )
    VALUES ( newid(),
    '2016-08-08 00:00:00.000',
    321,
    111,
    11,
    11,
    1,
    1,
    1,
    1,
    1,
    111
    )

    "Не удалось вставить явное значение в столбец отметки времени. Используйте INSERT со списком столбцов, чтобы исключить столбец отметки времени, либо вставьте DEFAULT в столбец отметки времени."

    Пытался и в явную значение прописать, и default указать, и getdate(), и вообще исключаю столбец [date] - все равно та же ошибка.


    Куда можно покопать? Сильно хочется вставить)
    __________________________________________________ ________________

    Аналогичные движения с таблицей GK_Transacts проходят "на ура".

    Поле [date] - главный подозреваемый, оно not null, тип данных datetime.
    Пристально всматривался в отличия [date] и там и там - нашёл только разный тип данных. datetime и datetime2.

    И кто-нибудь знает зачем в ГК две почти "одинаковых" таблицы: transacts и gk_transacts?

  2. #2
    Новичок
    Регистрация
    29.08.2016
    Адрес
    Воронеж
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    Вставляйте без [id]

  3. #3
    Сведущий Аватар для Alexem
    Регистрация
    17.07.2014
    Адрес
    Омск
    Сообщений
    79
    Поблагодарил(а)
    7
    Благодарностей: 32 (сообщений: 18)
    Большое спасибо, вкатило без ошибок!

    А по поводу смысла таблиц transacts и gk_transacts не в курсе?
    Ради спортивного интереса =)

  4. #4
    Новичок
    Регистрация
    29.08.2016
    Адрес
    Воронеж
    Сообщений
    2
    Поблагодарил(а)
    0
    Благодарностей: 0 (сообщений: 0)
    На счет смысла - не в курсе. Возможно какой-то хитрый механизм контроля валидности )
    И, кстати, newid() нужен для [GUID], а не для [ID]

  5. #5
    Разбирающийся Аватар для NeiroN
    Регистрация
    30.01.2015
    Адрес
    Ижевск
    Сообщений
    119
    Поблагодарил(а)
    0
    Благодарностей: 5 (сообщений: 3)
    таблица Transacts - устаревшая. После 3.27 в нее пишутся только зачисления. Все игры проходят через GK_Transacts

    Также рекомендую использовать CONVERT(datetime,'2016-08-08 00:00:00.000')

    Полная вставка записи об игре как то так выполняется(в моей программе):
    Код:
                        DECLARE @t_guid uniqueidentifier, @deal INT
                        SELECT @t_guid = newid()
                        EXEC @deal = [gkArcade].[gk].[SYS_GEN_ID]
                        INSERT INTO [gkArcade].[gk].[TRANSACTS] (ACCOUNT, ACTIVITY,  [DATE], 
                            VALUE1,  UNIT1,  VALUE2,  UNIT2,  QUANT, 
                            CREATOR, CREATORADDR, CREATORREF, CREATORDATE, 
                            LEVEL2, [LEVEL], CARD, PERIOD ) 
                        VALUES( @CARD, 1, GETDATE(), 
                            @PRICE, @UNIT, 1, 101, 1, 
                            1, @MACHINE, NULL, GETDATE(), 
                            @LEVEL2, @LEVEL, @CARD, NULL )
                        INSERT INTO [gkArcade].[gk].[GK_TRANSACTS]
                            ([DATE],[ACTIVITY],[CARD],[ACCOUNT_TYPE],[VALUE],[QUANT],[CREATOR],[CREATORADDR]
                            ,[DEAL],[LEVEL],[LEVEL2],[ARCADE],[GUID],[TRANSACT_GUID])
                            VALUES (GETDATE(),1,@CARD,11,0-@PRICE,1.00,1,@MACHINE,@deal,@LEVEL,@LEVEL2,1,newid(),@t_guid)
                        INSERT INTO [gkArcade].[gk].[GK_TRANSACTS]
                            ([DATE],[ACTIVITY],[CARD],[ACCOUNT_TYPE],[VALUE],[QUANT],[CREATOR],[CREATORADDR]
                            ,[DEAL],[LEVEL],[LEVEL2],[ARCADE],[GUID],[TRANSACT_GUID])
                            VALUES (GETDATE(),1,@CARD,3,1.00,0.00,1,@MACHINE,@deal,@LEVEL,@LEVEL2,1,newid(),@t_guid)
    Просто скажите что вам нужно и я напишу код))
    P.S. Скучно

Похожие темы

  1. Структура папки BASE
    от lEEFT в разделе Сервер справочников и сервер отчетов R-Keeper 7
    Ответов: 0
    Последнее сообщение: 04.02.2014, 12:36
  2. Структура баз Премьеры
    от Valera в разделе UCS-Премьера
    Ответов: 7
    Последнее сообщение: 06.06.2012, 15:00
  3. В ERROR.LOG записи:
    от Nikola2010 в разделе RK: Базы данных, ошибки, проблемы
    Ответов: 22
    Последнее сообщение: 10.10.2010, 22:55
  4. Ошибка записи в ARK6.udb
    от Amber_ach в разделе RK: Базы данных, ошибки, проблемы
    Ответов: 6
    Последнее сообщение: 21.11.2009, 13:22

Ваши права

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