• 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)

  • 相关阅读:
    vue--组件基础
    vue中的一些知识点--多看文档
    关于组件--React
    数组方法-->map()
    正则表达式使用
    border-image 和 border-color 不能同时使用问题
    gulp
    oninput 中文输入
    linux文档权限
    为什么使用 use strict
  • 原文地址:https://www.cnblogs.com/wangzhanbo/p/8807317.html
Copyright © 2020-2023  润新知