想问一个关于表更新的问题?
我用如下方式建立远程视图
CREATE CONNECTION warecon;
CONNSTRING "DRIVER=SQL Server;SERVER=fx;APP=Microsoft? VisualFoxPro?;DATABASE=feixiang;Trusted_Connection=Yes"
aa="create sql view "+ALLTRIM(names)+" remote connection warecon share as select * from "+ALLTRIM(names)
&aa
cursorsetprop("buffering",3)
cursorsetprop("sendupdates",.t.,"&names")
然后每当修改了远程视图后,都执行如下命令,以达到修改后台数据的目的,
m.lSuccess = TableUpdate(.T.,.F.)IF m.lSuccess
END TRANSACTION
REQUERY()
else
messagebox( "抱歉,未提交上。请重做一次。" )
ROLLBACK
ENDIF
我想问的是,一般远程视图中只会增加或修改一条记录,当远程视图被修改后,执行更新命令时,系统是会只向后台更新被增加或修改的一条记录;还是会将整个远程视图中的数据全部反馈到后台数据库中将后台表中的数据覆盖?
因为我发现当一个命令中会修改几个表的数据时,系统会弹出"warecon很忙"的警告框,是否是因为以上我猜测的原因?是否直接用insert命令比较快?