何が問題なのですか?Sql Server条件が正しく選択されている場合
DECLARE @error int
If (SELECT ID_Projet FROM tblProjet WHERE [email protected]_Projet)> 0
SET @error=1
END IF
何が問題なのですか?Sql Server条件が正しく選択されている場合
DECLARE @error int
If (SELECT ID_Projet FROM tblProjet WHERE [email protected]_Projet)> 0
SET @error=1
END IF
END IF
が間違っています。
DECLARE @error int
If (SELECT ID_Projet FROM tblProjet WHERE [email protected]_Projet)> 0
SET @error=1
またはこの:ドキュメントの
DECLARE @error int
If (SELECT ID_Projet FROM tblProjet WHERE [email protected]_Projet)> 0
Begin
SET @error=1
End
チェックHERE
はこのようにそれを実行してください。
あなたはその制限行数を確認しようとしている場合は、このようにそれを実行する必要があります。
DECLARE @error int
If (SELECT count(ID_Projet) FROM tblProjet WHERE [email protected]_Projet)> 0
Begin
SET @error=1
End
正解は+1、もう一つは私よりもタイピングが速いということができますか? – GarethD
ありがとうございます。 – FrankSharp
条件が満たされているかどうかだけを確認している場合は、IF EXISTSを使用する必要があります。テーブルスキャンは、レコードをカウントするためのフルテーブルスキャンではなく最初の一致になります。 – GarethD
END IFは、条件文のためのT-SQL構文ではありません。
DECLARE @error int
IF (SELECT COUNT(ID_Projet) FROM tblProjet WHERE [email protected]_Projet)> 0
BEGIN
SET @error=1
END
EDIT:
これはあなただけではなくCOUNTよりも機能をEXISTS使用する必要があり、少なくとも一つの行をチェックしているので。 ID_Projectは、あなたがに句を追加するためにクエリをEXISTS「AND ID_ProjetがNULLでない」COUNTので、WHEREさらに追加する必要がありますNULL可能である場合、これは、はるかに効率的である(NULL)=それが想定している何0
DECLARE @error int
IF EXISTS(SELECT ID_Projet FROM tblProjet WHERE [email protected]_Projet)
BEGIN
SET @error=1
END
行う? '> 0'の行が一致するかどうかをテストしようとしていますか、' ID_Projet'の値が '> 0'ですか? –
あなたにエラーが発生しましたか?それは何ですか? – Curt
エラーは何ですか? – Diego