sql 存储过程条件判断


  create proc softuse_test_procif
  
  @id int 
  as 
   begin
  declare @v varchar(50)
 
  if @id=''
  begin
      select * from [test01].[dbo].[student3];
    end
  else 
  begin
    select * from [test01].[dbo].[student3] where stud_id=@id;
  end 
  end
     

     exec softuse_test_procif 3

  create proc softuse_test_procif1
  
  @id varchar(10)    --外面参数 
  as 
   begin
  declare @v varchar(50)
  declare @v1 varchar(150)
    declare @v2 varchar(150)

  set  @v1='select * from [test01].[dbo].[student3] where 1=1 '   --写在 if 外面

  if @id=''
	 begin
  
	   exec (@v1)
	 end
  else 

    begin
    set @v1=@v1 +'and stud_id='+@id ;
    exec (@v1)

  end 
  end
     

	 exec softuse_test_procif1 '3'

 

你可能感兴趣的:(sql,server,sql)