如果列值等于用户输入,则插入数据

时间:2012-10-18 19:22:26

标签: sql

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

我有一个名为Tasks的表和一个名为TaskID的主键。如果我尝试将用户输入的id与TaskID列进行比较,“if”条件将如何?

基本上我试图做(如果(TaskID = 599)插入值

到目前为止我已尝试过这个:

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

然而,我不认为它有我想要的结果。它不断创造一项新任务。

2 个答案:

答案 0 :(得分:1)

如果您尝试仅检查任务ID exists是否已使用 -

IF EXISTS (SELECT 'x' FROM task WHERE taskid=599)
    UPDATE Table1 SET (...) WHERE Column1='SomeValue'
ELSE
    INSERT INTO Table1 VALUES (...)

答案 1 :(得分: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)