紧急求救

[复制链接]
查看11 | 回复1 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
我有如下代码:
mySql := 'Select PosCode From PosNode@'||DBLINKNAME||

' Where TerminalID = :Arg1';
handle_ := DBMS_SQL.open_cursor;
DBMS_SQL.PARSE(handle_,mysql,dbms_sql.native);
DBMS_SQL.DEFINE_COLUMN(handle_, 1, PosCode_);
DBMS_SQL.Bind_Variable(handle_,'Arg1',TerminalID_);
Rtn := DBMS_SQL.Execute(handle_);
IF DBMS_SQL.FETCH_ROWS(handle_)>0 THEN
DBMS_SQL.COLUMN_VALUE(handle_, 1, PosCode_);
DBMS_SQL.CLOSE_CURSOR(handle_);
Else
--终端不存在,记错误日志
DBMS_SQL.CLOSE_CURSOR(handle_);
Return -1;
End If;
请问这样对吗?
出现错误:PLS_00307:有太多的define_column与此次调用相匹配。
是怎么回事?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
没有这样使用过。因为我一直用的是Oracle8i以上的版本。
execute immediate 'sql'
是说DBMS_SQL.DEFINE_COLUMN(handle_, 1, PosCode_);
这句错误吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行