zoukankan      html  css  js  c++  java
  • SQL Server 使用 OUTPUT做数据操作记录

    OUTPUT 子句

    可以在数据进行增删改的时候,可以返回受影响的行。先准备一张表

    create table #t
    (
        id int identity primary key 
        ,name varchar(100)
    )
    go

    1、insert ,影响行在inserted表里

    insert into #t(name)
    output inserted.*
    values('a')


    返回结果:

    id name
    ----------- ----------------------------------------------------------------------------------------------------
    1 a

    批量插入:

    insert into #t
    output inserted.*
    select 'b'

    id name
    ----------- ----------------------------------------------------------------------------------------------------
    2 b


    2、delete ,影响行在deleted表里

    delete from #t
    output deleted.id
    where id = 1

    返回结果:

    id
    -----------
    1


    3、update,会将新数据放在inserted表里,老数据放在deleted表里

    update #t
    set name='new value'
    OUTPUT deleted.id,deleted.name,inserted.id,inserted.name  
    where id=2

    id name id name
    ----------- ---------------------------------------------------------------------------------------------------- ----------- ----------------------------------------------------------------------------------------------------
    2 d 2 new value

    (1 row(s) affected)


    4、OUTPUT INTO 支持将数据 插入到表里

    DECLARE @outputTable TABLE(name1 varchar(100),name2 varchar(100))
    
    update #t
    set name='new value 3'
    OUTPUT deleted.name,inserted.name into @outputTable
    where id=2
     
    SELECT * FROM @outputTable

    (1 row(s) affected)
    name1 name2
    ---------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------
    new value new value 3

    (1 row(s) affected)

    https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2005/ms177564(v%3dsql.90)

  • 相关阅读:
    ActiveReports 报表应用教程 (3)---图表报表
    ActiveReports 报表应用教程 (4)---分栏报表
    ActiveReports 报表应用教程 (5)---解密电子商务领域首张电子发票的诞生(套打报表)
    hdu4467 Graph
    ActiveReports 报表应用教程 (6)---分组报表
    [leetcode]Search a 2D Matrix
    参加百度开放云编程马拉松后一点总结
    CAS服务器配置
    Tomcat 的 SSL 配置
    在windows server 2008 R2 64bit上面配置PI OPC Server的DCOM
  • 原文地址:https://www.cnblogs.com/wangzhanbo/p/8807317.html
Copyright © 2011-2022 走看看