
为什么存储过程语法正确,但执行报错,说是没有参数
展开全部
肯定阿
我给你举个例子
create proc test_proc @test1 int, @test2 int
as
select * from test
if @test1>=@test2
begin
print '第二个传入的值必须比第一个值大'
end
else
begin
while @test1<=@test2
begin
print @test1
set @test1=@test1+1
end
end
如果你这么调用的话
exec test_proc
错误
消息 201,级别 16,状态 4,过程 test_proc,第 0 行
过程或函数 'test_proc' 需要参数 '@test1',但未提供该参数。
如果你
exec test_proc 1
消息 201,级别 16,状态 4,过程 test_proc,第 0 行
过程或函数 'test_proc' 需要参数 '@test2',但未提供该参数。
因为我这个存储过程定义了两个参数
所以你调用的时候必须写两个参数
比如:
exec test_proc 1,2
这样才可以阿
我给你举个例子
create proc test_proc @test1 int, @test2 int
as
select * from test
if @test1>=@test2
begin
print '第二个传入的值必须比第一个值大'
end
else
begin
while @test1<=@test2
begin
print @test1
set @test1=@test1+1
end
end
如果你这么调用的话
exec test_proc
错误
消息 201,级别 16,状态 4,过程 test_proc,第 0 行
过程或函数 'test_proc' 需要参数 '@test1',但未提供该参数。
如果你
exec test_proc 1
消息 201,级别 16,状态 4,过程 test_proc,第 0 行
过程或函数 'test_proc' 需要参数 '@test2',但未提供该参数。
因为我这个存储过程定义了两个参数
所以你调用的时候必须写两个参数
比如:
exec test_proc 1,2
这样才可以阿

2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
展开全部
肯定阿
我给你举个例子
create
proc
test_proc
@test1
int,
@test2
int
as
select
*
from
test
if
@test1>=@test2
begin
print
'第二个传入的值必须比第一个值大'
end
else
begin
while
@test1<=@test2
begin
print
@test1
set
@test1=@test1+1
end
end
如果你这么调用的话
exec
test_proc
错误
消息
201,级别
16,状态
4,过程
test_proc,第
0
行
过程或函数
'test_proc'
需要参数
'@test1',但未提供该参数。
如果你
exec
test_proc
1
消息
201,级别
16,状态
4,过程
test_proc,第
0
行
过程或函数
'test_proc'
需要参数
'@test2',但未提供该参数。
因为我这个存储过程定义了两个参数
所以你调用的时候必须写两个参数
比如:
exec
test_proc
1,2
这样才可以阿
我给你举个例子
create
proc
test_proc
@test1
int,
@test2
int
as
select
*
from
test
if
@test1>=@test2
begin
'第二个传入的值必须比第一个值大'
end
else
begin
while
@test1<=@test2
begin
@test1
set
@test1=@test1+1
end
end
如果你这么调用的话
exec
test_proc
错误
消息
201,级别
16,状态
4,过程
test_proc,第
0
行
过程或函数
'test_proc'
需要参数
'@test1',但未提供该参数。
如果你
exec
test_proc
1
消息
201,级别
16,状态
4,过程
test_proc,第
0
行
过程或函数
'test_proc'
需要参数
'@test2',但未提供该参数。
因为我这个存储过程定义了两个参数
所以你调用的时候必须写两个参数
比如:
exec
test_proc
1,2
这样才可以阿
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
execute immediate mysql into var1 ; 改成 execute immediate sqls into var1 ; tab 表里面没有id这个字段 要么把你实际的存储过程贴上来,我按照你现在的写法执行是没有问题的,只是最后var1的值没用上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询