[SQL ] 预存语法组合的问题

楼主: justlike5566 (5566天下无敌)   2014-05-26 11:47:29
内容/问题描述:用sqlserver2008r2连接网页代入参数
create PROCEDURE [dbo].[AllList]
@it varchar(5),
@sqlStr varchar(MAX)
AS
BEGIN
IF @it='全选'
BEGIN
SET @sqlStr='SELECT * FROM dbo.cdTest'
END
ELSE
begin
SET @sqlStr=@sqlStr+ ' WHERE it=(SELECT DISTINCT code FROM
dbo.miTest WHERE code=@it)'
END
END
EXEC @sqlStr
传入的值如果选项没选任何一顶 就为全选(确定)
miTest的code 会对上cdTest的it
但是在测试时都找不到 请问这样有写错吗?
作者: scpisces (失败的勇气。)   2014-05-28 00:00:00
子查询的where改为code='''+@it+'''

Links booklink

Contact Us: admin [ a t ] ucptt.com