這就是你如何編寫和SQL UPDATE
聲明與FROM
子句。
drop table t2
drop table t1
go
create table t1 (
Id int not null identity(1,1) primary key,
Name varchar(50) null
)
create table t2 (
t1Id int not null foreign key references t1(id),
Name varchar(50) null
)
insert into t1(name) values('T1Test1')
insert into t1(name) values('T1Test2')
insert into t2(t1Id, name) values(1, 'T2Test1')
insert into t2(t1Id, name) values(2, 'T2Test2')
-- Have a look at the data
select * from t1 inner join t2 on t1.Id = t2.t1Id
update t2
set t2.Name = 'T2Test1_changed'
from t2 inner join t1 on t2.t1Id = t1.Id
where t1.Id = 1
-- See the changes
select * from t1 inner join t2 on t1.Id = t2.t1Id
這意味着你的說法應該是這樣的:
UPDATE sims
SET s.Notes = @Notes
FROM sims s INNER JOIN TransactionLog tl ON s.id = tl.SimsId
WHERE s.id = @id and tl.Id = @Id1
我卻懷疑WHERE
條款。也許沒有必要在那裏使用兩個ID,但只有你知道這一點。
在將SQL Management Studio應用到您的應用程序中以獲得更好的調試體驗之前,請嘗試在SQL Management Studio中進行查詢。
這裏是關於UPDATE
聲明MSDN文檔:http://msdn.microsoft.com/en-us/library/ms177523.aspx
給了邁克的學分,因爲他幫我出最。最後,我剛剛解決了一個存儲過程,它工作。 – n4rzul 2011-03-31 10:42:36