ASP存储过程出错的问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 03:54:28
CREATE PROCEDURE YesVideo
@page money,@col int
As
set nocount on
begin
select top 30 *from Video where(id not in(select top @num id from Video))and Video_OK=1 order by video_time desc
end
GO

提示:@num有错误,请问那里错了??
谢谢!成功了加100分!谢谢大哥兄弟们了!

不可能吧??我在查询分析器里把num改为具体的数据就可以了,可是用@num就不成!这是为什么???
我是打算用ASP来调用这个存储过程的!

CREATE PROCEDURE YesVideo
@page money,@col int
As
set nocount on
declare @num nvarchar(20)
set @num=convert(nvarchar(20),@page)
begin
select top 30 *from Video where(id not in(select top @num id from Video))and Video_OK=1 order by video_time desc
end
GO

这样写也不对!

sql查询分析器里测试通过,自己修改下相关参数就好了
调用的时候 execute 存储过程名 参数
CREATE PROCEDURE YesVideo
@num int
as
begin
declare @num2 varchar(20)
set @num2=convert(varchar(20),@num)
exec('select top '+ @num2 +' * from rencaiuser')
end

GO
:sql 里就是不支持你这样的写法.要把数字转化成字符.oracle道是可以像你那么写