zoukankan      html  css  js  c++  java
  • 22、SQL Server 数据修改之返回修改的数据

    数据修改之返回修改的数据

    使用output子句嵌入到insert update delete 语句中,可以访问插入和删除的

    虚拟表,以选择要返回的数据。

    其中删除虚拟表(Deleted)存储原来的数据、插入虚拟表(Inserted)存储了更新后

    或新插入的数据。使用output子句能够选择这些表中的所有列或指定列。

    一、返回插入的数据

    命令Insert使插入虚拟表Inserted表可用。

    如:

    insert into bumen(bmname)
    
    output inserted.*
    
     values('新部门')

    结果:

    id bmname isdelete

    11 新部门 0

    二、返回更新前和更新后的数据

    如:

    update bumen set bmname='另外一个新部门' 
    
    output deleted.bmname as 原来的名称,inserted.bmname as 新名称
    
    where bmname='新部门'

    结果:

    原来的名称 新名称

    新部门 另外一个新部门

    三、返回删除的数据

    如:

    delete from bumen
    
    output deleted.id as 删除的部门编号,deleted.bmname as 删除的部门名称
    
    where bmname='另外一个新部门'

    结果:

    删除的部门编号 删除的部门名称

    11             另外一个新部门

    四、将返回的数据存储到表变量中

    基本语法:

    output  ...

    into  表变量

    如:

    declare @returndatatable table
    
    (
    
    id int default 0,
    
    name varchar(50),
    
    isdelete int 
    
    )
    
    insert into bumen(bmname) 
    
    output inserted.* into @returndatatable
    
    values('新部门')
    
    select * from @returndatatable


    结果:

    id name isdelete

    14 新部门 0


  • 相关阅读:
    5.9编程练习
    linux下查看torch版本和cuda版本
    4.13编程练习
    C++ Primer Plus-3.7编程练习-第2题和第5题
    More on vim tips
    Method Calling in Perl
    换零钱 动态规划解法 C语言描述
    海伦平方根算法(LISP描述)
    expect 实现模拟交互
    tmux 入门
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3137640.html
Copyright © 2011-2022 走看看