俺自己写的万能查询的存储过程,请赐教
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[student_choice]
@name varchar (50),
@sex varchar (50) ,
@department varchar (50),
@grade varchar (50),
@major varchar (50)
AS
BEGIN
declare @sql varchar (1000)
set @sql='select * from student where 1=1'
if @name<>''
begin
set @sql=@sql+'and name='+@name
end
if @sex<>''
begin
set @sql=@sql+'and convert(varchar(50),sex)='+@sex
end
if @department<>''
begin
set @sql=@sql+'and department='+@department
end
if @grade<>''
begin
set @sql=@sql+'and grade='+@grade
end
if @major <>''
begin
set @sql=@sql+'and major='+@major
end
exec(@sql)
END