bobofreebird 发表于 2008-04-17 14:24

一个存储过程问题

大家好

目的:统计不同库间同一设备的数量是否相等
代码:create procedure compareNumber(tablename varchar(255),object_class int)

returning int,int;

define edisNumber int;
define nrmdbNumber int;

select count(*) as num from edis2@edisdb1:tablename where confirmed <> 2 into temp t1;

select t1.num into edisNumber from t1;
select count(*) as num from nrmdb@wnmsserver1:objects where object_class = 101 and confirmed <> 2 into temp t2;
select t2.num into nrmdbNumber from t2;
return edisNumber,nrmdbNumber with resume;
drop table t1;
drop table t2;

end procedure;
问题:当我execute procedure compareNumber("aaa",101);报错
错误:error: the specified table (edis2:tablename) is not in the database. (State:s0002,native code:ffffff32)
         0 row(s) affected
说是没又找到参数中传的表名,但是我确信表存在   单独执行是都能取出数据
大侠们看看是那错了呢?

wenlq 发表于 2008-04-18 14:39

不支持用变量当表名的。
http://bbs.chinaunix.net/viewthread.php?tid=667733&extra=page%3D2&page=1

[ 本帖最后由 wenlq 于 2008-4-18 14:50 编辑 ]
页: [1]
查看完整版本: 一个存储过程问题