sql 2005 update语句

       项目快做完了,还有一个小功能及细节方面的小问题没有解决了。做小功能的时候突然发现我的sql语句怎么写的怪怪的,我项目中sql语句的写法:

update Patent set Patentname = ? from Patent where Patentid = ?"

突然发现这个update语句中怎么还有from关键字,很奇怪,赋值之后放sql查询分析器中执行,可以正常执行。又重新写了个sql语句,

update patent set patentname='没有from关键字的' where patentid=4 

也能正常执行,这是怎么回事呢? 然后就在网上搜索,找到了风雨人生的博客,http://www.cnblogs.com/tunwa/archive/2011/03/08/1977208.html

我只引用一部分:

2.update

2.1多表更新

Update table1 set  table1.field 1=table2.field2  from

table1,table2 /*猜测下连接方式全联接 FULL [OUTER] JOIN */

where  table1.field3= table2 .filed3

知识:SQL Server的update语句中from后可跟多个表,Oracle则不支持该用法

Oracle 中:Update  table1  set  table1.field1=

(select table2.field2 from table2 where .field3= table2 .filed3)

如有兴趣可进他的博客中看看。

posted @ 2013-05-29 20:04  javawebsoa  Views(249)  Comments(0)    收藏  举报