手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例
MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例
摘要:复制代码代码如下:-->Title:Generatingtestdata-->Author:wufeng4552-->Date:2009-1...

复制代码 代码如下:

-->Title:Generating test data

-->Author:wufeng4552

-->Date :2009-10-07 15:16:26

if object_id('ta')is not null drop table ta

go

create table ta(ID int identity,[name] varchar(10))

insert ta([name]) select 'a' union all

select 'b' union all

select 'c' union all

select 'd' union all

select 'e' union all

select 'f' union all

select 'g'

if object_id('tb')is not null drop table tb

go

create table tb(ID int identity,[name] varchar(10))

insert tb([name]) select 'a' union all

select 'b' union all

select 'c'

--INSERT 陳述式來使用 OUTPUT INTO

insert tb output

inserted.id,

inserted.[name]

select [name]

from ta where not exists(select 1 from tb where [name]=ta.[name])

/*

id name

----------- ----------

4 d

5 e

6 f

7 g

*/

--刪除剛才插入的紀錄

delete tb where [name]>'c'

--储存此结果集保存到一个表值变量中

declare @t table(ID int,[name] varchar(10))

insert tb output

inserted.id,

inserted.[name]into @t

select [name] from ta where not exists(select 1 from tb where [name]=ta.[name])

select * from @t

/*

ID name

----------- ----------

8 d

9 e

10 f

11 g

(4 個資料列受到影響)

*/

--DELETE 陳述式使用 OUTPUT

delete tb output deleted.* where id=9

/*

ID name

----------- ----------

9 e

(1 個資料列受到影響)

*/

-- UPDATE 陳述式使用 OUTPUT INTO

update tb set [name]='test' output inserted.* where id=10

/*

ID name

----------- ----------

10 test

(1 個資料列受到影響)

*/

/*

OUTPUT 子句对于在 INSERT操作之后检索标识列或计算列的值可能非常有用。

另外OUTPUT子句也可以在UPDATE和DELETE语句中使用,从插入表或删除表中得到数值,并返回这些数值。

以下语句中不支持 OUTPUT 子句:

l 引用本地分区视图、分布式分区视图或远程表的 DML 语句。

l 包含 EXECUTE 语句的 INSERT 语句。

l 不能将 OUTPUT INTO 子句插入视图或行集函数。

简洁的OUTPUT子句,使得向SQL Server导入数据的操作得到了极大的简化。

【MSSQL2005 INSERT,UPDATE,DELETE 之OUTPUT子句使用实例】相关文章:

SQL2008中SQL应用之-阻塞(Blocking)应用分析

SQL SERVER中apply操作符

Sql Server 存储过程实例讲解

MSSQL 2008不能用IP登录问题如何解决

在SQLServer 2005中编写存储过程

SQL2005查看死锁存储过程sp_who_lock

SqlServer 2005 中字符函数的应用

SQLServer APPLY表运算符使用介绍

SQLServer 2008中SQL增强之三 Merge(在一条语句中使用Insert,Update,Delete)

SQL Server 2008中SQL之WaitFor使用介绍

精品推荐
分类导航