sql存储过程中的整形变量和字符串变量

USE [test1]

GO

/****** Object:  StoredProcedure [dbo].[SP_GetAllDataForTb_test]    Script Date: 04/30/2012 14:28:02 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

create procedure [dbo].[SP_GetAllDataForTb_test]

(

       @Stu_Id int

      ,@Stu_Name varchar(50)

      ,@Stu_ClassName varchar(50)

      ,@Stu_Address varchar(50)

      ,@Stu_Remark  varchar(50)

)

as

declare @sql nvarchar(4000);

set @sql='';

set @sql='select * from Tb_test where 1=1 ';

if(@Stu_Id<>-1)

begin

  set @sql+=' and Stu_Id ='+CONVERT(nvarchar,@Stu_Id,101 )+'';

end

if(@Stu_Name<>'')

begin

 set @sql+=' and Stu_Name = '''+@Stu_Name+'''';

end

if(@Stu_ClassName<>'')

begin

set @sql+=' and Stu_ClassName='''+@Stu_ClassName+'''';

end

if(@Stu_Address<>'')

begin

set @sql+=' and Stu_Address='''+@Stu_Address+'''';

end

if(@Stu_Remark <>'')

begin

set @sql+=' and Stu_Remark='''+@Stu_Remark+'''';

end

exec(@sql)

  

你可能感兴趣的:(存储过程)