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 に答える