CREATE
TABLE
ChequeOLTP
(
ID
int
primary
key
,
Data
date
Valor
decimal
(9,2)
)
ChequeOLAP
LogCheque
Acao
varchar
(10),
Data datetime
INSERT
INTO
VALUES
(1,
'2012-01-10'
,120),(3,
'2012-01-22'
,240),(4,
'2012-02-05'
,97),(5,
'2012-02-08'
,72),(6,
'2012-01-07'
,148)
'2012-01-15'
,120),(2,
,150),(3,
,220),(4,
,72)
MERGE
AS
Dest
USING ChequeOLTP
Orig
ON
Dest.ID = Orig.ID
WHEN
MATCHED
THEN
UPDATE
SET
Dest.Valor = Orig.Valor,
Dest.Data = Orig.Data
NOT
BY
TARGET
(ID, Data, Valor)
(Orig.ID, Orig.Data, Orig.Valor)
SOURCE
DELETE
OUTPUT
$
action
COALESCE
(deleted.ID, inserted.ID) ID, getdate()
LogCheque;
SELECT
*
FROM
Acao,
COUNT
(*) QTD
GROUP