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)

  

posted @ 2012-04-30 15:37  Star★  阅读(1461)  评论(0编辑  收藏  举报