我写了以下一个语句,可是总是报错,就是实现修改一个表的一个列的数据,用这个表的数据减去另一个表的数据再保存回原表,语句如下:
update depotnum set depotnum.number=(depotnum.number-outdepot.number) where depotnum.productser in (select productser from outdepot)
第一次用sql语句,查书也没有看出为什么。它总是向我要参数的值,为什么?
update depotnum set depotnum.number=(depotnum.number-outdepot.number) where depotnum.productser in (select productser from outdepot)
第一次用sql语句,查书也没有看出为什么。它总是向我要参数的值,为什么?
set number=a.number-b.number
from depotnum a ,outdepot b
where a.productser in (select productser from outdepot)
update depotnum
set number=a.number-b.number
from depotnum a ,outdepot b
where a.productser=b.productser
用这个:
update depotnum
set number=a.number-b.number
from depotnum a ,outdepot b
where a.productser=b.productser
number int
)
create table b(
number int
)insert a(number)values(1)
insert b(number)values(1)update a
set number=number+(select number from b)
错误提示“操作必须使用一个可更新的查询”,还是没有答案,唉!!!
id int,
number int
)
create table b(
id int,
number int
)insert a(id,number)values(1,100)
insert b(id,number)values(1,200)update a
set number=number+(select number from b where id=1)
where id=1
还是同样的错误提示,我用的是access。
Dim cn As New ADODB.Connection
Dim rs As New Recordset
cn.ConnectionString = "Provider=sqloledb;Data Source=127.0.0.1;Initial Catalog=pubs;User Id=sa;Password=lyjlee;"
cn.Openrs1.open "select * from a",cn,adOpenKeyset, adLockOptimistic
do while not rs1.eof
rs2.open "select number from b where id="&rs1("id"),cn,adOpenKeyset, adLockOptimistic
if not rs2.eof then
cn.execute("update a set number=number+"&rs2("number"))
end if
rs1.movenext
loop
Dim cn As New ADODB.Connection
Dim rs As New Recordset该为:
Dim rs1,rs2 As New Recordset
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & app.path & "\db1.mdb"