作者justlike5566 (5566天下无敌)
看板Database
标题[SQL ] 预存语法组合的问题
时间Mon May 26 11:47:29 2014
内容/问题描述:用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
但是在测试时都找不到 请问这样有写错吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.249.157.14
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Database/M.1401076052.A.3D7.html
※ 编辑: justlike5566 (60.249.157.14), 05/26/2014 11:49:15
※ 编辑: justlike5566 (60.249.157.14), 05/26/2014 11:50:21
1F:推 scpisces:子查询的where改为code='''+@it+''' 05/28 00:00