SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GOALTER PROCEDURE dh_GetQueryResult (@TableName varchar(100),@QueryString varchar(100),@StrCondition varchar(100)) AS declare @Ssql varchar(8000) DECLARE Query_cursor CURSOR FOR Select S.Name from SysColumns S inner join SysObjects O on S.ID=O.ID Where O.Name=@TableName declare @FName varchar(100) open Query_cursor fetch Query_cursor into @FName Set @Ssql='(Select * from '+@TableName +' Where Cast ('+@FName +' as varchar) like ''%' +@QueryString +'%'''+@Strcondition+')' fetch next from Query_cursor into @FName while @@fetch_status=0 begin set @Ssql=@Ssql+( ' union all (Select * from '+@TableName +' Where Cast ('+@FName +' as varchar) like ''%' +@QueryString+'%'''+@Strcondition+')') fetch next from Query_cursor into @FName end close Query_cursor deallocate Query_cursor Exec(@Ssql) return
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
GO
SET ANSI_NULLS ON
GOALTER PROCEDURE dh_GetQueryResult (@TableName varchar(100),@QueryString varchar(100),@StrCondition varchar(100)) AS declare @Ssql varchar(8000) DECLARE Query_cursor CURSOR FOR Select S.Name from SysColumns S inner join SysObjects O on S.ID=O.ID Where O.Name=@TableName declare @FName varchar(100) open Query_cursor fetch Query_cursor into @FName Set @Ssql='(Select * from '+@TableName +' Where Cast ('+@FName +' as varchar) like ''%' +@QueryString +'%'''+@Strcondition+')' fetch next from Query_cursor into @FName while @@fetch_status=0 begin set @Ssql=@Ssql+( ' union all (Select * from '+@TableName +' Where Cast ('+@FName +' as varchar) like ''%' +@QueryString+'%'''+@Strcondition+')') fetch next from Query_cursor into @FName end close Query_cursor deallocate Query_cursor Exec(@Ssql) return
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
union all 就行了.
CREATE PROCEDURE dh_GetQueryResult (@TableName varchar(100),@QueryString varchar(100),@StrCondition varchar(100)) AS declare @Ssql varchar(8000) DECLARE Query_cursor CURSOR FOR Select S.Name from SysColumns S inner join SysObjects O on S.ID=O.ID Where O.Name=@TableName declare @FName varchar(100) open Query_cursor fetch Query_cursor into @FName Set @Ssql='Select * from '+@TableName +' Where (Cast ('+@FName +' as varchar) like ''%' +@QueryString +'%''' fetch next from Query_cursor into @FName while @@fetch_status=0 begin set @Ssql=@Ssql+ ' or Cast ('+@FName +' as varchar) like ''%' +@QueryString +'%''' fetch next from Query_cursor into @FName end
set @Ssql=@Ssql+')'+@Strcondition close Query_cursor deallocate Query_cursor Exec(@Ssql) return