项目快做完了,还有一个小功能及细节方面的小问题没有解决了。做小功能的时候突然发现我的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)
如有兴趣可进他的博客中看看。