gpt4 book ai didi

oracle - DBMS_SQL.列值错误..动态游标

转载 作者:行者123 更新时间:2023-12-02 09:28:07 24 4
gpt4 key购买 nike

我很难找出以下代码中的错误

DECLARE
CR_QUERY INTEGER;
CR_HANDLE INTEGER;
V_COL1 VARCHAR2(40);
V_COL2 VARCHAR2(18);
N_ACTION NUMBER(3);
T_CREATE_TS TIMESTAMP(6);
V_COL3 VARCHAR2(60);

BEGIN
CR_QUERY := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE (CR_QUERY, I_V_QUERY, DBMS_SQL.NATIVE);
DBMS_SQL.DEFINE_COLUMN (CR_QUERY, 1, V_COL1, 40);
DBMS_SQL.DEFINE_COLUMN (CR_QUERY, 2, V_COL2, 18);
DBMS_SQL.DEFINE_COLUMN (CR_QUERY, 3, N_ACTION, 3);
DBMS_SQL.DEFINE_COLUMN (CR_QUERY, 4, T_CREATE_TS, 6);
DBMS_SQL.DEFINE_COLUMN (CR_QUERY, 5, V_COL3, 60);

CR_HANDLE := DBMS_SQL.EXECUTE (CR_QUERY);
LOOP
BEGIN
EXIT WHEN DBMS_SQL.FETCH_ROWS (CR_HANDLE) = 0;

DBMS_SQL.COLUMN_VALUE (CR_QUERY, 1, V_COL1, N_COLERR, I_ACTUAL_LEN);
DBMS_SQL.COLUMN_VALUE (CR_QUERY, 2, V_COL2, N_COLERR, I_ACTUAL_LEN);
DBMS_SQL.COLUMN_VALUE (CR_QUERY, 3, N_ACTION, N_COLERR, I_ACTUAL_LEN);
DBMS_SQL.COLUMN_VALUE (CR_QUERY, 4, T_CREATE_TS, N_COLERR, I_ACTUAL_LEN);
DBMS_SQL.COLUMN_VALUE (CR_QUERY, 5, V_COL3, N_COLERR, I_ACTUAL_LEN);

错误为错误(41,5):PLS-00307:太多“COLUMN_VALUE”声明与此调用匹配

有人可以建议发生什么事吗?

最佳答案

问题在于:

DBMS_SQL.COLUMN_VALUE (CR_QUERY, 4, T_CREATE_TS, N_COLERR, I_ACTUAL_LEN);

如果将变量 T_CREATE_TS 定义为 DATE,它应该可以正常工作,但 COLUMN_VALUE 没有 VALUE 为 TIMESTAMP 类型的声明(至少在 10.2 中没有),因此它会抛出错误。

关于oracle - DBMS_SQL.列值错误..动态游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9101905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com