首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

存储过程语法异常

2013-09-07 
存储过程语法错误请帮我看一下,这个存储过程语法错误问题,因为我不熟,找了半天也没找到原因,谢谢了。CREATE

存储过程语法错误
请帮我看一下,这个存储过程语法错误问题,因为我不熟,找了半天也没找到原因,谢谢了。


CREATE PROCEDURE [dbo].[proc_get_pic_By_key]
    @topnum int,
    @wherestr NVARCHAR(250) 
   
AS
BEGIN
   select top @topnum  photo_name,minipic from photo where minipic<>'' @wherestr   order by picid desc
END
sql 存储过程
[解决办法]

CREATE PROCEDURE [dbo].[proc_get_pic_By_key]
    @topnum int,
    @wherestr NVARCHAR(250) 
   
AS
BEGIN
   exec('select top '+@topnum +' photo_name,minipic from a where minipic<>'''''+@wherestr +'  order by picid desc')
END

[解决办法]
ALTER PROCEDURE [dbo].[proc_get_pic_By_key]
    @topnum int,
    @wherestr NVARCHAR(250) 
    
AS
BEGIN
DECLARE @sql NVARCHAR(max)
SET @sql = N'
select top (@topnum)  photo_name,minipic from photo where minipic<>'''' '+ @wherestr +'  order by picid desc
'
PRINT @sql
EXEC sp_executesql @sql, N'@topnum int', @topnum
END
GO

EXEC [proc_get_pic_By_key] 1, 'AND minipic = ''TEST'''

热点排行