动态执行SQL异常

[复制链接]
查看11 | 回复1 | 2011-11-16 13:27:00 | 显示全部楼层 |阅读模式
本帖最后由 anyanwser 于 2011-11-16 16:39 编辑
我们要做一个动态执行SQL的过程,是用来生XML文件的,在这个过程中总是出现以下异常,求解
-------以下是完整过程-------------------------
CREATE TABLE T_TEST (
DM_TEST VARCHAR2(20)
);
INSERT INTO T_TEST(DM_TEST) VALUES('测试');
COMMIT;
CREATE OR REPLACE PROCEDURE P_BULIDXML(F_DXXH VARCHAR2) AS
F_XML CLOB;
F_XML_SQL CLOB;
F_NUM NUMBER;
F_SQL VARCHAR2(2000);
RC
NUMBER;
BEGIN
F_SQL := 'SELECT XMLQUERY(''for $sRow in ora:view("T_TEST")/ROWreturn {$sRow/DM_TEST}'' RETURNING CONTENT) XMLDATA FROM DUAL';--(感觉错误是XMLQUERY的问题)
F_NUM := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(F_NUM, F_SQL, DBMS_SQL.NATIVE);
DBMS_SQL.DEFINE_COLUMN(F_NUM, 1, F_XML);
RC := DBMS_SQL.EXECUTE(F_NUM); --异常
IF DBMS_SQL.FETCH_ROWS(F_NUM) = 0 THEN
DBMS_OUTPUT.PUT_LINE('no such tables!');
ELSE
DBMS_SQL.COLUMN_VALUE(F_NUM, 1, F_XML);
END IF;
DBMS_SQL.CLOSE_CURSOR(F_NUM);
END P_BULIDXML;
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 -
ORA-06512: 在 "SYS.DBMS_SYS_SQL", line 1200
ORA-06512: 在 "SYS.DBMS_SQL", line 323
ORA-06512: 在 "IMS.P_BULIDXML", line 17
ORA-06512: 在 line 6
查看错误堆栈的程序源?

回复

使用道具 举报

千问 | 2011-11-16 13:27:00 | 显示全部楼层
各位帮帮我吧!
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行