哪位帅哥能把我这句语句改写成一个存储过程啊?string rep="select top " + spa;
rep+=" * FROM repInfo where id not in (select top "+ filter;
rep+=" id from repInfo where 文章id="+spt1+" ORDER BY ID) AND 文章id= "+spt1+" order by id";下面是我自己写的一个存储过程,在SQL里检查语法没有错误,但是在VS中执行却报错!
CREATE PROCEDURE Rep
(
@TopID int,
@Tem int,
@Yeshu int
)AS
BEGIN
Declare @sql varchar(8000)
SET @sql= 'select top ' + @Tem +' * FROM repInfo where id not in (select top '+ filter+' id from repInfo where 文章id='+spt1+' ORDER BY ID) AND 文章id=' +spt1+' order by id '
EXEC (@sql)
END
GO请各位大侠帮帮我吧!
rep+=" * FROM repInfo where id not in (select top "+ filter;
rep+=" id from repInfo where 文章id="+spt1+" ORDER BY ID) AND 文章id= "+spt1+" order by id";下面是我自己写的一个存储过程,在SQL里检查语法没有错误,但是在VS中执行却报错!
CREATE PROCEDURE Rep
(
@TopID int,
@Tem int,
@Yeshu int
)AS
BEGIN
Declare @sql varchar(8000)
SET @sql= 'select top ' + @Tem +' * FROM repInfo where id not in (select top '+ filter+' id from repInfo where 文章id='+spt1+' ORDER BY ID) AND 文章id=' +spt1+' order by id '
EXEC (@sql)
END
GO请各位大侠帮帮我吧!
(
@TopID int,
@Tem int,
@Yeshu int
)AS
BEGIN
Declare @sql varchar(8000)
SET @sql= 'select top ' + Convert(varchar,@TopID)+' * FROM repInfo where id not in (select top '+ convert(varchar,@tem)+' id from repInfo where 文章id='+Convert(varchar,@yeshu)+' ORDER BY ID) AND 文章id=' +Convert(varchar,@yeshu)+' order by id '
EXEC (@sql)
END
GO
试一下
可能还有点问题
下面是我自己写的一个存储过程,在SQL里检查语法没有错误,但是在VS中执行却报错!
-------------------------------
我刚才把你写的拷贝到查询分析器里,分析是没有出问题,运行就出问题了。当然了,
我也不知道是什么问题,呵呵。
---------- 如下提示 -------------
サーバー : メッセージ 207、レベル 16、状態 3、プロシージャ Rep、行 11
列名 'filter' は無効です。
サーバー : メッセージ 207、レベル 16、状態 1、プロシージャ Rep、行 11
列名 'spt1' は無効です。
サーバー : メッセージ 207、レベル 16、状態 1、プロシージャ Rep、行 11
列名 'spt1' は無効です。
下面给出能够正确运行的存储过程也给各位不太熟悉存储过程的朋友一个参考!CREATE PROCEDURE Repp
(
@TopID int,
@Tem int,
@Yeshu int
)AS
BEGIN
Declare @sql varchar(8000)
SET @sql= 'select top ' + convert(varchar,@Tem)+' * FROM repInfo where id not in (select top '+ convert(varchar, @Yeshu)+' id from repInfo where 文章id='+Convert(varchar,@TopID)+' ORDER BY ID ) AND 文章id=' +Convert(varchar,@TopID)+' order by id '
EXEC (@sql)
END
GO