我要更新我的表contentment
,该表具有以下属性:
雇员编号,问题编号,日期,得分,评论
粗体字是此表的primary key
。我的stored procedure
需要update
和questionid
才能获得employeeid
。仅questionid
需要更改。 employeeid
,date
,score
和comment
必须保持相同。
我有以下内容:
create procedure [dbo].[spUpdateContentment]
(
@employeeid int,
@questionid int,
@date date
)
as
begin
update contentment
set questionid= @questionid
where employeeid= @employeeid and questionid= @questionid and date = @date
else
RAISERROR(@ErrMsg,16,1)
end
但是这不起作用,它什么也没做。我认为这是因为我的存储过程并不完全知道他需要在哪里更新它,以及他需要更新哪个Questionid。但是我不确定。我使用SQL Server
答案 0 :(得分:1)
我想你想要
update contentment
set questionid = @questionid
where employeeid = @employeeid and date = @date;
条件and questionid = @questionid
将阻止找到该行。如果找到,则update
不会更改任何值。
逻辑可能需要两个@questionid
,一个用于旧值,一个用于新值。
答案 1 :(得分:1)
您没有更改任何值,因此不执行任何操作。您可能需要以下条件:
GetPtr()