mssql update 的用法

原创 2012年03月22日 08:48:44

其标准格式:Update 表名 set 字段=值 where 条件
不过根据数据的来源不同,还是有所区别的

 

1.从外部输入
这种比较简单
例:update tb set UserName="XXXXX" where UserID="aasdd"

2.一些内部变量,函数等,比如时间等
直接将函数赋值给字段
update tb set LastDate=date() where UserID="aasdd"

3.对某些字段变量+1,常见的如:点击率、下载次数等
这种直接将字段+1然后赋值给自身
update tb set clickcount=clickcount+1 where ID=xxx

4.将同一记录的一个字段赋值给另一个字段
update tb set Lastdate= regdate where XXX

5.将一个表中的一批记录更新到另外一个表中
table1 
ID f1 f2
table2 
ID f1 f2
先要将table2中的f1 f2 更新到table1(相同的ID)

update table1,table2 set table1.f1=table2.f1,table1.f2=table2.f2 where table1.ID=table2.ID

6.将同一个表中的一些记录更新到另外一些记录中
表:a
ID month E_ID Price
1        1         1       2
2        1         2       4
3        2         1       5
4        2         2       5
先要将表中2月份的产品price更新到1月份中
显然,要找到2月份中和1月份中ID相同的E_ID并更新price到1月份中
这个完全可以和上面的方法来处理,不过由于同一表,为了区分两个月份的,应该将表重命名一下
update a,a as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1 and b.month=2

当然,这里也可以先将2月份的查询出来,在用5.的方法去更新

update a,(select * from a where month=2)as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1

版权声明:本文为博主原创文章,未经博主允许不得转载。

mssql update 的用法

其标准格式:Update 表名 set 字段=值 where 条件 不过根据数据的来源不同,还是有所区别的   1.从外部输入 这种比较简单 例:update tb set User...
  • lishimin1012
  • lishimin1012
  • 2012年03月06日 17:22
  • 7116

MSSQL 多个表关联更新

正确写法2):UPDATE A  SET A.mobilephone = b.mobile FROM tb_contact A,tmp_contact b WHERE A.contact_name =...
  • taikeqi
  • taikeqi
  • 2017年01月12日 19:55
  • 578

关于MSSQL误删/误更新数据后的回滚

原帖地址:http://raresql.com/2011/10/22/how-to-recover-deleted-data-from-sql-sever/ 针对被delete命令误删的数据回滚操作...
  • starseeker7
  • starseeker7
  • 2014年02月07日 17:37
  • 2723

MSSQL ALTER TABLE 用语句修改Primary key 的ID

alter table image alter column id int IDENTITY (1, 1) NOT NULL 我...
  • zly22169846
  • zly22169846
  • 2010年10月30日 11:19
  • 3075

Oracle中update的用法

在Oracle中,在一张表中修改某一项时,用以下语句update Module set ModuleName=add Module where Moduleid=5 Module是表名而不是数据库名...
  • Ingenuus
  • Ingenuus
  • 2007年12月09日 10:43
  • 1646

MSSQL UPDATE

Here is how to do an update from in SQL Server. I am posting this because I always forget the syntax...
  • cjb9937
  • cjb9937
  • 2008年10月16日 13:34
  • 90

SqlServer更新中文数据库显示乱码,更新内容有单引号

1.如果更新有乱码 string sql = "update student set xingming=N'XXXX' where xuehao='001'"; 在相应字段前加N。或者直接把相应字段更...
  • songjuntao8
  • songjuntao8
  • 2014年03月07日 15:25
  • 1708

MSSQL 的OVER()函数

1. OVER子句用于为行为定义一个窗口(即给纪录多添加特定一列),以便进行特定的运算。 可以简单地认为是运算将要操作的一个行的集合。 聚合函数和排序函数都是可以支持OVER子句的运算类型。 由...
  • yangb0803
  • yangb0803
  • 2015年07月23日 14:09
  • 434

关于Mssql中的varbinary的使用

在一项目中用到MSSQL中的varbinary,在使用存储时发现下面问题 执行语句    DECLARE @SQLTxt VARCHAR(400), @AlarmContent VARBINARY(4...
  • guitao_w
  • guitao_w
  • 2010年02月02日 16:50
  • 1737

select...for update使用方法

作用: select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性.   给你举几个例子: select * from t for up...
  • zwl156135995
  • zwl156135995
  • 2016年05月18日 17:42
  • 7348
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mssql update 的用法
举报原因:
原因补充:

(最多只允许输入30个字)