CREATE PROCEDURE dbo.Search
                (        @Tablename
VARCHAR(50),
                         @Columname VARCHAR(50),
                         @valuestables VARCHAR(4000) )
AS
BEGIN      
        DECLARE
@SQL VARCHAR(1000);
        DECLARE
@where VARCHAR(8000);    
        DECLARE
@var INT,@name VARCHAR(50);               
        DECLARE
@SQL1 VARCHAR(1000);
        SET @SQL1='SELECT * FROM'+' '+@Tablename +' WHERE 1=1 '
        SET @SQL=@SQL1
                                WHILE CHARINDEX(',',@valuestables,1)<>0
                                BEGIN                                
                                SET @var=CHARINDEX(',',@valuestables,1)
                                SET @name=SUBSTRING(@valuestables,1,@var-1)
                                SET @valuestables=SUBSTRING(@valuestables,@var+1,LEN(@valuestables))
                                SET @SQL = @SQL + ' AND ' + @Columname + ' LIKE ''%'+@name +'%'''+ '' +' UNION ' +@sql1
                                END
                                SET @SQL=@SQL + ' AND ' + @Columname + ' LIKE ''%'+@valuestables +'%'+ ''''
 EXEC ( @SQL)
END
GO
 
 
No comments:
Post a Comment