gpt4 book ai didi

oracle - PL/SQL : numeric or value error: character string buffer too small %ROWTYPE

转载 作者:行者123 更新时间:2023-12-04 14:29:24 26 4
gpt4 key购买 nike

我不知道我是否遗漏了什么,但我正在做的是:

我有一个返回 ROWTYPE 的函数

  FUNCTION myFunc(pChar CHAR) RETURN myTable%ROWTYPE AS
myTable_rec myTable%ROWTYPE;
BEGIN
SELECT col1, col2, col3
INTO myTable_rec.col1
, myTable_rec.col2
, myTable_rec.col3
FROM myTable
WHERE col4 = pChar;

RETURN(myTable_rec);
END B001_03;

然后在我的程序(调用上面的函数)中,我声明:
myTable_rec myTable%ROWTYPE;

但是当我调用程序时:
...
myTable_rec := myFunc(someChar);
...

我得到
ORA-06502: PL/SQL: numeric or value error: character string buffer too small

字段不应该来自同一个表和相同的数据类型(据我所知)?

编辑:
我尝试 SELECT * 并且一切正常。我肯定在这里遗漏了一些东西。我只是不知道它是。

最佳答案

我敢打赌这个问题源于使用 Char ,它是一个固定长度的字符串。不确定在哪里,但是在代码中的某个地方,您尝试将长度为 N 的 Char 或 varchar2 字符串放入长度为 M 的字符中,其中 M > N。

关于oracle - PL/SQL : numeric or value error: character string buffer too small %ROWTYPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17668631/

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