【发布时间】:2013-05-23 07:17:17
【问题描述】:
我正在尝试从我的表中返回一些结果,但我的查询没有返回任何结果
这是我执行存储过程的方式
EXEC spLog '145',' ','2531'
这是我的存储过程示例,音乐会也是一样,从我的表中返回一些值
Created Procedure spLog
@logID nvarchar(400),
@logAction nvarchar(400),
@userId nvarchar(400)
AS
Begin
DECLARE @query nvarchar(4000)
if(LEN(@logID)>0)
BEGIN
SET @query = @query + 'Select * From LogTable where logID in ('+@logID+') AND userID = '+@userId + ''
END
if (LEN(@logAction)>0)
BEGIN
SET @query = @query + 'Select * From logAction where logAction in ('+@logAction+') AND userID = '+@userId + ''
END
EXEC sp_executesql @query
END
列命名和表命名只是一个例子,忽略它,我的 2 个表由我想要的项目组成,但我的返回结果没有,它应该返回一些东西而不是没有 =(
我的预期结果是[logTable result]+[LogAction result] or [logTable result] or [LogAction result]
【问题讨论】:
-
尝试用
logID = '+@logID+'替换logID in ('+@logID+') -
@AndreyGordeev 我的参数格式将是逗号 =) 例如'145,156'
标签: sql stored-procedures sql-server-2008-r2