Триггер не работает, не могу понять, почему - PullRequest
0 голосов
/ 15 июня 2011

Я использую SQL Server 2005 и при создании триггера я получаю следующую ошибку:

код

-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE TRIGGER dbo.dublicator 
   ON  dbo.PLACE_ORDER
   FOR INSERT
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    INSERT INTO dbo.ADAPT_DR.DEBTS(CLIENT_CODE,CLIENT_NAME,CHARGES)

END
GO

При выполнении я получаю следующееошибка:

Сообщение 156, уровень 15, состояние 1, процедура dublicator, строка 17 Неверный синтаксис рядом с ключевым словом "END".

Я пытался решить его, но ничегопохоже на работу.

Ответы [ 3 ]

3 голосов
/ 15 июня 2011

Так как это триггер, я предполагаю, что значения, входящие во вторую таблицу, будут из вставки. Ответы, указывающие на использование VALUES, являются действительным синтаксисом SQL, но не тем, что вы ищете. Вы захотите использовать волшебный стол inserted.

INSERT INTO dbo.ADAPT_DR.DEBTS(CLIENT_CODE,CLIENT_NAME,CHARGES) 
SELECT CLIENT_CODE, CLIENT_NAME, CHARGES
FROM inserted

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

1 голос
/ 15 июня 2011

Ваше insert утверждение неверно - вы говорите вставить в таблицу debts, но не указываете, что вставлять. Я предлагаю прочитать и получить базовые знания по SQL (выбрать, вставить, обновить).

0 голосов
/ 15 июня 2011

Ваше INSERT заявление является неполным. Это должно быть примерно так:

INSERT INTO dbo.ADAPT_DR.DEBTS(CLIENT_CODE,CLIENT_NAME,CHARGES) 
                       values (value1, value2, value3)

предоставляя значения в соответствующих типах данных указанных столбцов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...