0

如何执行 if 语句来检查列值是否等于用户输入的输入值

我有一个名为 Tasks 的表和一个名为 TaskID 的主键。如果我试图将用户输入的 id 与 TaskID 列进行比较,“if”条件会是什么样子

基本上我正在尝试执行 if(TaskID = 599) 插入值

到目前为止,我已经尝试过:

if ((select TaskID from MyDB.dbo.Tasks where TaskID=599) = 599)
begin
insert into MyDB.dbo.Tasks (Concluded)
Values (1)
end

但是我认为它没有我想要的结果。相反,它会不断创建新任务。

4

2 回答 2

1

如果您尝试仅检查 taskID 是否已存在,请使用 -

IF EXISTS (SELECT 'x' FROM task WHERE taskid=599)
    UPDATE Table1 SET (...) WHERE Column1='SomeValue'
ELSE
    INSERT INTO Table1 VALUES (...)
于 2012-10-18T19:29:43.803 回答
0

试试这个

IF EXISTS (SELECT 1 FROM task WHERE taskid=599)
    UPDATE MyDB.dbo.Tasks SET concluded = 1 WHERE taskid=599
ELSE
    INSERT INTO MyDB.dbo.Tasks (concluded) VALUES (1)
于 2012-10-18T19:31:43.997 回答