私は何かが欠けていた場合、私は知らない私がやっていることは次のとおりです。PL/SQL:数値または値のエラー:文字列バッファが小さすぎ%のROWTYPE
私は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
を取得するには、同じ表のと(私の小さな理解のように)同じデータ型であるはずの分野ではありませんか?
EDIT: SELECT *とすべての作品を試しました。私は間違いなくここに何かを欠いている。私はちょうどそれがあることを知らない。
Charの代わりにVarchar2を使用してみませんか? –
うわー本当に問題を解決しました。答えを入れて、私は最高の答えとしてそれをマークします。 本当に困惑しているのは、同じテーブルと列から「someChar」がクエリされているので、col4と同じデータ型と長さがあると予想しています。 – Incognito