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)

  • 相关阅读:
    android开发中提示:requires permission android.permission write_settings解决方法
    TRX(腾讯通)与OA集成
    windows下Tomcat指定jdk并部署到系统服务设置开机启动
    如何配置Tomcat服务器环境
    IntelliJ IDEA 工具使用
    AOP切面操作
    Spring Boot中使用AOP面向切面
    sun.misc jar包
    Excel导出数据库数据
    FreeMarker js 获取后台设置的request、session
  • 原文地址:https://www.cnblogs.com/wangzhanbo/p/8807317.html
Copyright © 2011-2022 走看看