在ACCESS和Sql Server中编写sql语句的不同:
更新操作sql语句中,将某一字段值更新为两个值的差,语句实例如下:
update table1 set field1=(field1-value1);
以上语句在ACCESS中正确,但在sql server中提示’field1=’附近语法错误,原因在于
field1=(field1-value1)中加了一对括号()。
sql server中的正确写法为:
update table1 set field1=field1-value1;
null
另外还要注意:上面的写法其实是有漏洞的,当value1为负值时真正执行的语句可能为:
update table1 set field1=field1–1 where fields2=value2;
此时,执行该语句更新数据库,可能会造成其他无关记录(如fields2!=value2)受到影响,更新值也不是预期的正确值。
最终,正确的写法如下:value1可能为运行时变量
update table1 set field1=field1-(value1) where fields2=value2;
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容