SQL OUTPUT CLUASE

--OUTPUT CLAUSE  
--
1 INSERT WITH OUTPUT  
IF OBJECT_ID('Rows') IS NOT NULL DROP TABLE ROWS  
CREATE TABLE [ROWS](COL INT IDENTITY(1,1),DATACOL VARCHAR(20))  
 
INSERT INTO [ROWS]  
    OUTPUT inserted.COL,inserted.DATACOL  
   
SELECT COMPANYNAME FROM Customer  
--RESULTS  
COL         DATACOL  
----------- --------------------  
1           Microsoft  
2           Intel  
3           alibaba  
4           siemens  
5           Bank  
6           GOOGLE  
 
(
6 row(s) affected)  
 
-- DELETE WITH OUTPUT  
DELETE FROM [ROWS]  
       OUTPUT deleted.COL,  
              deleted.DATACOL  
             
WHERE COL<10 
                
-- UPDATE WITH OUTPUT  
   UPDATE [ROWS]  
  
SET DATACOLDATACOL=DATACOL+'--'  
   OUTPUT inserted.COL,  
          deleted.DATACOL
AS OLDDATA,  
          inserted.DATACOL
AS NEWDATA  
  
WHERE COL<11       
--RESULTS  
COL         OLDDATA              NEWDATA  
----------- -------------------- --------------------  
7           Microsoft            Microsoft--  
8           Intel                Intel--  
9           alibaba              alibaba--  
10          siemens              siemens--  
 
(
4 row(s) affected)  
     
     
--MERGE WITH OUTPUT  
MERGE INTO dbo.Customer AS TGT  
USING dbo.CustomerStage
AS SRC  
ON TGT.CUSID=SRC.CUSID  
WHEN MATCHED THEN  
    
UPDATE  
    
SET TGT.CustomeName=SRC.CustomeName,  
         TGT.companyname
=SRC.companyname  
WHEN NOT MATCHED THEN  
    
INSERT (cusid,CustomeName,companyname)  
    
VALUES (SRC.cusid,SRC.CustomeName,SRC.companyname)      
OUTPUT $ACTION,  
       INSERTED.CUSID,  
       DELETED.CustomeName
AS OLDCustomeName,  
       INSERTED.CustomeName
AS NEWCustomeName,   
       DELETED.companyname
AS OLDcompanyname,  
       INSERTED.companyname
AS companyname;  
         
$ACTION    CUSID       OLDCustomeName       NEWCustomeName       OLDcompanyname       companyname  
---------- ----------- -------------------- -------------------- -------------------- --------------------  
UPDATE     1           guo hu               guo hu               wicresoft            Microsoft  
UPDATE     3           jun wen li           jun wen li           HP                   alibaba  
UPDATE     4           jin hao liu          jin hao liu          IBM                  siemens  
INSERT     5           NULL                 cheng fan            NULL                 Bank  
 
(
4 row(s) affected)   
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值