代码改变世界

随笔档案-2012年01月

sql server 2005中模仿merge的使用方法

2012-01-11 18:24 by 假面Wilson, 1750 阅读, 收藏, 编辑
摘要: sql server 2005中是不支持merge的用法的,sql server 2008和oracle中提供了支持,那么该如何模仿merge的用法呢,使用OUTPUT. 假设你有一个表permanent create table permanent(id int, d float, comment varchar(15))goinsert into permanent values(1, 10., ‘Original Row’)insert into permanent values(2, 10., ‘Original Row’)insert into permanent values... 阅读全文

SQL output语句的用法

2012-01-11 18:19 by 假面Wilson, 453 阅读, 收藏, 编辑
摘要: 以下示例将行插入test表,并使用 OUTPUT 子句将语句的结果返回到 @mytable table 变量中declare @mytable table( id int identity(1,1) primary key, name varchar(50))insert into test output inserted.name into @mytable values('147')select * from soloreztestselect * from @mytable结果是: output into子句是将向test表里面的数据同步的插入的@mytable的表变量里 阅读全文

SQL Server 2008 MERGE

2012-01-11 11:32 by 假面Wilson, 506 阅读, 收藏, 编辑
摘要: SQL Server 2008中的MERGE语句能做很多事情,它的功能是根据源表对目标表执行插入、更新或删除操作。最典型的应用就是进行两个表的同步。 下面通过一个简单示例来演示MERGE语句的使用方法,假设数据库中有两个表Product及ProductNew,我们的任务是将Product的数据同步到ProductNew(当然同步可能是每天通过Job来自动完成的,在此我们只关注MERGE的使用)。 以下SQL创建示例表: --源表 CREATE TABLE Product ( ProductID varchar(7) NOT NULL PRIMARY KEY, ProductName v... 阅读全文

SQL中使用update inner join和delete inner join

2012-01-10 11:06 by 假面Wilson, 340 阅读, 收藏, 编辑
摘要: SQL中使用update inner join和delete inner join. Update Update XXX set XXX where 这种写法大家肯定都知道,才发现update和delete居然支持inner join的update方式,这个在表间关联来做更新和删除操作非常有用. 列子: Sql代码 update tb_User set pass='' from tb_User usr inner join tb_Address addr on usr.nAddressFK = addr.nAddressID where usr.id=123 ... 阅读全文
点击右上角即可分享
微信分享提示