TSQL update 简单应用小总结
2013-10-22 23:59
423 查看
UPDATE 有两种基本的格式。一种是用静态数据来修改表,另一种是用其他表中的数据来修改表。下面是第一种格式:
第二种格式如下:
UPDATE 的另外一种用途:使用update 检测约束。
如果使用 bulk insert 或者其他大批量的载入工具来对有insett 触发器的表进行追加数据,你们你会发现触发器不能触发。而且,即使bulk insert 不妨碍约束,也会是操作变的非常的慢。如果在载入数据时忽略约束,那么就快的多了。所以,比较的好的方法是,载入数据结束后,马上在对表一个假的update 操作。这个假的修改操作只是简单地将列值为其身的值。这样就会触发触发器约束进行检测。如果其中有包含错数数据的行,那么update失败.例如:
使用update 交换行列:
UPDATE #famousjaycees SET jc = 'Jhony cash', occupation = 'singer/songwrite', becamefamous = 1955, notes = 'began c' WHERE jc = 'Jhony caeer'
第二种格式如下:
IF NOT EXISTS (SELECT * FROM sys.sysobjects WHERE [name] = 'semifamousjaycees') CREATE TABLE semifamousjaycees ( jc VARCHAR (15), occupation VARCHAR (25), becamefamous INT DEFAULT 0, notes TEXT NULL ) UPDATE f SET jc = s.jc, occupations = s.occupations, becamefamous = s.becamefamous, notes = s.notes FROM famousejaycees f JOIN semifamousjaycee ON (f.becamesou = s.becamefouse)
UPDATE 的另外一种用途:使用update 检测约束。
如果使用 bulk insert 或者其他大批量的载入工具来对有insett 触发器的表进行追加数据,你们你会发现触发器不能触发。而且,即使bulk insert 不妨碍约束,也会是操作变的非常的慢。如果在载入数据时忽略约束,那么就快的多了。所以,比较的好的方法是,载入数据结束后,马上在对表一个假的update 操作。这个假的修改操作只是简单地将列值为其身的值。这样就会触发触发器约束进行检测。如果其中有包含错数数据的行,那么update失败.例如:
IF NOT EXISTS (SELECT * FROM sys.sysobjects WHERE [name] = 'famousejaycees') CREATE TABLE famousejaycees ( jc VARCHAR (15) CHECK (left (jc, 3) <> 'Joe'), -- establish a check constraint occupation VARCHAR (25), becamefamous INT DEFAULT 0, notes TEXT NULL ) go BULK INSERT famousejaycees FROM 'C:\famous.bcp' WITH (FIELDTERMINATOR = '|', ROWTERMINATOR = '\r\n') --check that the miscreant is in place SELECT * FROM famousejaycees --now do the faux update update famousejaycees set jc=jc, occupation = occupation, becamefamous = becamefamous, notes = notes
使用update 交换行列:
IF NOT EXISTS (SELECT * FROM sys.sysobjects WHERE [name] = 'sample') CREATE TABLE sample ( k1 INT IDENTITY, samp1 FLOAT DEFAULT (rand () * 1000), samp2 FLOAT DEFAULT (rand () * 1000) ) SELECT * FROM sample; DECLARE @swap FLOAT UPDATE sample SET @swap = samp1, samp1 = samp2, samp2 = @swap
相关文章推荐
- storm简单应用实例之总结
- Struts2之Ognl 标签简单笔记 及 简单应用【课上总结】主要实现流程图(转)
- jquery 简单应用示例总结
- aspnetajax UpdatePanel控件简单应用
- jquery 简单应用总结
- [待总结]php简单应用
- z-index 应用简单总结
- 关于开发个简单应用(账号管家)的总结
- 驱动与应用层简单消息通信总结
- 项目总结之百度地图定位的简单应用
- 小小的总结一下java异常处理和List、ArrayList、Vector、Set、HashSet、TreeSet集合的简单应用
- JavaScript学习总结之正则的元字符和一些简单的应用
- Feign的简单应用总结
- maven简单应用总结
- JavaScript学习记录总结(七)——dom对象应用之用户简单管理
- 一个简单的小应用——总结
- wireshark工具应用之简单总结
- 安卓中 广播 服务 及其简单应用范围的一些总结
- 树莓派简单应用总结
- 一起来学ASP.NET Ajax(六)之UpdatePanel简单应用及其原理