10第十章数据修改高级用法(转载)

时间:2021-05-30 02:59:46
10第十章数据修改高级用法

 

MERGE OUPUT $action AS action  (由这个动作来判断是inserted 还是 deleted)WHEN MATCHED AND (源.列 <> 目.列) 才更新WHEN NOT MATCHED BY SOURCE THEN DELETE (慎用)WHEN NOT MATCHED THEN INSERT VALUES 
在 2008 之前 插入多条 需要写多个insert values 08 之后可以下载一起@rowcount = @@ROWCOUNT
select into 将复制源表中数据类型为空性和 IDENTITY 属性,但并不会复制表的约束,索引和触发器,注意多表中选择列 建表不会复制 identity 所以单表查询时,如果不希望向新表列中复制 IDENTITY 属性,可以入CustomID + 0 AS CustomerID 加个 0 就不会复制了还有不能使用 SELECT INTO 创建已经分区的表,即使源表已进行分区,SELECT INTO 也不会使用源表的分区方案,新表是在默认文件组中创建的。
BULK INSERT 属于批量导入,对于简单恢复模式或大容量日志恢复模式的数据库可以起到 减少日志记录从而能快速导入 BULK 
update 可用来更新远程服务器上的行 (使用链接服务器名称或OPENROWSET  opendatasource,openquery 函数)前提是用来访问远程服务器的 OLE DB 访问接口支持更新操作 。
P282  TRUNCATE TABLE top /offset 10 rows fetch next 5 rows only
嵌套联接执行顺序由内到外,内部结果作为外部的输入 
CROSS APPLY <=> INNER JOINouter apply <=> left outer join
原文链接本文由豆约翰博客备份专家远程一键发布