日度归档:2018年12月6日

mssql sqlserver 使用视图(view)更新数据的方法分享


摘要:
下文讲述使用视图(view)的方式更新数据的方法,如下所示:
实验环境:sql server 2008 R2


视图更新数据的思路为:
首先创建一个视图,然后对视图执行update操作
例:

  create view vw_temp 
  as 
     select a.keyId,a.name,
              b.info  from tableName1 a 
                   left join tableName2 b on a.keyId = b.keyId 
 go 
     update vw_temp  set info =N'sql教程博客' 
     where keyId =88
     ---运行以上sql脚本info值会被更新至响应的表tableName1中


注意事项:
1.视图更新数据的方式同cte表达式更新数据的方式类似
2.并不是所有的视图都可以执行更新操作

mssql sqlserver 使用cte表达式更新数据的方法分享


摘要:
下文讲述使用cte表达式的方式更新数据的方法,如下所示:
实验环境:sql server 2008 R2


cte表达式更新数据的思路为:
首先使用select查询语句将所需数据联接起来,并放入cte表达式中,
然后对cte表达式执行update操作,数据会更新至cte表达式所引用的表中,例:

  with cte_temp as 
   (
     select a.keyId,a.name,
              b.info  from tableName1 a 
                   left join tableName2 b on a.keyId = b.keyId 
    )
     update cte_temp set info =N'sql教程博客' 
     where keyId =88
     ---运行以上sql脚本info值会被更新至响应的表tableName1中

mssql sqlserver 使用sql脚本获取表中包含”NULL”的行数据


摘要:
下文通过举例的方式讲述获取 列值为 null的方法,如下所示:
实验环境:sql server 2008 R2


下文通过举例的方式讲述获取一张数据表中行数据包含”空值(null)”的表信息,如下所示:

 
  ---例:获取[列名]值为null的信息
  select * from tableName where [列名] is null 
  ----------------------------------  
   create table [maomao365.com]
( keyId int,info varchar(20) )
go
insert into [maomao365.com]
(keyId,info)values(1,null),
(2,'sqlblog')
go
---检测 info为null的值
select * from [maomao365.com]
 where info is null 
go
truncate table [maomao365.com]
drop     table [maomao365.com]