Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Sql Server If条件whit select_Sql Server_Tsql - Fatal编程技术网

Sql server Sql Server If条件whit select

Sql server Sql Server If条件whit select,sql-server,tsql,Sql Server,Tsql,这个怎么了 DECLARE @error int If (SELECT ID_Projet FROM tblProjet WHERE No_Projet=@no_Projet)> 0 SET @error=1 END IF 如果不正确,则结束 这样做: DECLARE @error int If (SELECT ID_Projet FROM tblProjet WHERE No_Projet=@no_Projet)> 0 SET @erro

这个怎么了

  DECLARE @error int

  If (SELECT ID_Projet FROM tblProjet WHERE No_Projet=@no_Projet)> 0
     SET @error=1
  END IF

如果
不正确,则
结束

这样做:

 DECLARE @error int

  If (SELECT ID_Projet FROM tblProjet WHERE No_Projet=@no_Projet)> 0
     SET @error=1
 DECLARE @error int

  If (SELECT count(ID_Projet) FROM tblProjet WHERE No_Projet=@no_Projet)> 0
  Begin
     SET @error=1
  End
或者这个:

 DECLARE @error int

  If (SELECT ID_Projet FROM tblProjet WHERE No_Projet=@no_Projet)> 0
  Begin
     SET @error=1
  End

检查文档


如果您试图查看具有该限制的行数,您应该这样做:

 DECLARE @error int

  If (SELECT ID_Projet FROM tblProjet WHERE No_Projet=@no_Projet)> 0
     SET @error=1
 DECLARE @error int

  If (SELECT count(ID_Projet) FROM tblProjet WHERE No_Projet=@no_Projet)> 0
  Begin
     SET @error=1
  End

如果
不正确,则
结束

这样做:

 DECLARE @error int

  If (SELECT ID_Projet FROM tblProjet WHERE No_Projet=@no_Projet)> 0
     SET @error=1
 DECLARE @error int

  If (SELECT count(ID_Projet) FROM tblProjet WHERE No_Projet=@no_Projet)> 0
  Begin
     SET @error=1
  End
或者这个:

 DECLARE @error int

  If (SELECT ID_Projet FROM tblProjet WHERE No_Projet=@no_Projet)> 0
  Begin
     SET @error=1
  End

检查文档


如果您试图查看具有该限制的行数,您应该这样做:

 DECLARE @error int

  If (SELECT ID_Projet FROM tblProjet WHERE No_Projet=@no_Projet)> 0
     SET @error=1
 DECLARE @error int

  If (SELECT count(ID_Projet) FROM tblProjet WHERE No_Projet=@no_Projet)> 0
  Begin
     SET @error=1
  End

END IF不是条件语句的T-SQL语法

DECLARE @error int

IF (SELECT COUNT(ID_Projet) FROM tblProjet WHERE No_Projet=@no_Projet)> 0
  BEGIN
    SET @error=1
  END 
编辑:

因为这只是检查至少一行,所以应该使用EXISTS功能,而不是COUNT。这更有效,如果ID_项目可为NULL,则需要在EXISTS查询中添加一个WHERE子句以添加“AND ID_Projet is NOT NULL”,因为COUNT(NULL)=0


END IF不是条件语句的T-SQL语法

DECLARE @error int

IF (SELECT COUNT(ID_Projet) FROM tblProjet WHERE No_Projet=@no_Projet)> 0
  BEGIN
    SET @error=1
  END 
编辑:

因为这只是检查至少一行,所以应该使用EXISTS功能,而不是COUNT。这更有效,如果ID_项目可为NULL,则需要在EXISTS查询中添加一个WHERE子句以添加“AND ID_Projet is NOT NULL”,因为COUNT(NULL)=0


它应该做什么?您是否试图测试是否有匹配的行
>0
,或者测试
ID\u Projet
值是否为
>0
?是否收到错误?这是什么?您是在检查返回的行数还是ID_Project是数据库中的一个字段?是的,这是我尝试的。你有更好的解决方案吗?它应该做什么?您是否试图测试是否有匹配的行
>0
,或者测试
ID\u Projet
值是否为
>0
?是否收到错误?这是什么?您是在检查返回的行数还是ID_Project是数据库中的一个字段?是的,这是我尝试的。你有更好的解决方案吗?+1表示正确答案,如果可以的话,另一个+1表示打字速度比我快!如果您只是检查条件是否满足,那么它应该使用If EXISTS,因为表格扫描只会进入第一个匹配项,而不是完整的表格扫描来计数记录。+1表示正确答案,如果可以,另一个+1表示键入速度比我快!如果只检查是否满足条件,则应使用If EXISTS,因为表扫描仅进入第一个匹配项,而不是完整的表扫描来计数记录。