try:update #A set a = 0
from #A T inner join D on left(T.b,@i)=D.d
from #A T inner join D on left(T.b,@i)=D.d
解决方案 »
- 请教一个排除重复的语句...
- SQL2000随机查询
- 我租用的虚拟主机,里面的SQL日志可以下载吗?用SQL命令可以实现吗?
- 紧急求助!!使用VB连接SQL编的程序,为何只能在本机运行?
- SQLServer2005中的字段都英文的,有没有详细的字段说明?
- 【急!】如何用T-sql语句删除表上的unique
- SQL SERVER 数据库网络连接问题,在线求助?
- 如何在存储过程中产生xml文档供openxml使用?
- 用Delphi开发数据库的讨论.
- 新手的动态sql的问题
- 关于大表格数据的传输和大量数据的传输?
- 如何一个数据库服务器的存储过程中远程更新另一个数据库服务器的表的内容(UPDATE)????
在查询分析器中看看
... where left(b,9) in (select d from D)
与
... where left(b,@i) in (select d from D)
的执行计划有什么不同?
把后一个语句改为
... where exists(select 1 from D where d=left(#A.b,@i))
速度怎样?
declare @i int,@sql varchar(8000)
set @i = 9
set @sql='update #A set a = 0 where left(b,'+cast(@i as varchar(10))+') in (select d from D)'
exec(@sql)
可以讲讲你这么做的原理么