SQL 大家帮忙???

来源:百度知道 编辑:UC知道 时间:2024/06/01 19:35:48
ALTER PROCEDURE [dbo].[getinfo]
@FID VARCHAR(20),
@FName VARCHAR(20),
@FAge VARCHAR(20),
@FCount int
不能用@Filter和@SQL去拼接查询然后用EXEC执行,只能直接用select怎么写比较好呢?

DECLARE @SQL varchar(2000)
DECLARE @FILTER varchar(1000)
SET @FILTER =''
SET @SQL='SELECT FID,FAgeYhInfoTb WHERE 1=1'
IF @FID<>''
SET @FILTER = @FILTER + ' AND FID = '''+ @FUserID +''''
IF @FName <>''
SET @FILTER = @FILTER + ' AND FName = '''+ @FName +''''
IF @FAge <>''
SET @FILTER = @FILTER + ' AND FAge = '''+ @FAge +''''
大家帮帮忙??

开玩笑吧,如果加了新条件怎么办?

有一个比较赖皮的方法,但是效率肯定不好

SELECT * INTO #Tmp FROM 表

IF @FID<>''
DELETE FROM 表 WHERE FID = @FUserID

IF @FName <>''
DELETE FROM 表 WHERE FName = @FName

IF @FAge <>''
DELETE FROM 表 WHERE FAge = @FAge

SELECT * FROM #Tmp
DROP TABLE #Tmp