У меня есть две таблицы, которые обновляются одной функцией (GLPOST
и GLPOSTO
).
Я создал представление (GLREP
) на основе этих двух таблиц, которые транспонируют строки GLPOSTO
в столбцы, так как я хочу, чтобы мои данные.
Теперь я хочу создать триггер (OPTIONAL
) для этого представления для вставки в новую таблицу (GLREPORTEXCEL
), как только представление соберетданные из различных таблиц в формате представления.
Представление GLREP
:
CREATE VIEW [dbo].[GLREP]
AS
(SELECT *
FROM
(SELECT
GLPOST.ACCTID,
JRNLDATE,
GLPOST.FISCALYR,
GLPOST.FISCALPERD,
GLPOST.SRCECURN,
GLPOST.BATCHNBR,
GLPOST.ENTRYNBR,
GLPOST.JNLDTLDESC,
GLPOST.JNLDTLREF,
GLPOST.TRANSAMT,
GLPOST.CONVRATE,
GLPOST.SCURNAMT,
GLPOSTO.OPTFIELD,
GLPOST.CNTDETAIL,
CSOPTFD.VDESC
FROM
GLPOST
LEFT JOIN
GLPOSTO ON GLPOST.ACCTID = GLPOSTO.ACCTID
AND GLPOST.POSTINGSEQ = GLPOSTO.POSTINGSEQ
AND glpost.CNTDETAIL = glposto.CNTDETAIL
LEFT JOIN
CSOPTFD ON GLPOSTO.OPTFIELD = CSOPTFD.OPTFIELD
AND GLPOSTO.VALUE = CSOPTFD.VALUE) AS source
PIVOT
(MAX([VDESC])
FOR [OPTFIELD] IN (ADVANCE, MEDICAL, MILEAGE, MOTORVEHICLE, PROMOTION, STAFF)) AS PVT
)
Мой триггер, который не работает:
CREATE TRIGGER OPTIONAL
ON GLREP
FOR INSERT
AS
INSERT INTO GLREPORTEXCEL (ACCTID, TRANDATE, FISCALYR, FISCALPERD, SRCECURN, BATCHNBR,
ENTRYNBR, JNLDTLDESC, JNLDTLREF, TRANSAMT, CONVRATE, SCURNAMT,
CNTDETAIL, STAFF, ADVANCE, MEDICAL, MILEAGE, MOTORVEHICLE, PROMOTION)
SELECT
ACCTID, JRNLDATE, FISCALYR, FISCALPERD, SRCECURN, BATCHNBR,
ENTRYNBR, JNLDTLDESC, JNLDTLREF, TRANSAMT, CONVRATE, SCURNAMT,
CNTDETAIL, STAFF, ADVANCE, MEDICAL, MILEAGE, MOTORVEHICLE, PROMOTION
FROM
inserted
Новая таблица, которую яхотите вставить в называется GLREPORTEXCEL
.