मैं अगर मैं लेकिन कुछ याद आ रही है पता नहीं है कि मैं क्या कर रहा हूँ है: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
एक ही मेज से और एक ही डेटाप्रकार का होना चाहिए क्षेत्रों (मेरी छोटी समझ के रूप में) नहीं कर रहे हैं?
संपादित करें: मैंने * और हर काम को चुनने की कोशिश की। मैं निश्चित रूप से यहाँ कुछ याद कर रहा हूँ। मुझे नहीं पता कि यह है।
आप चार के बजाय वर्चर 2 का उपयोग क्यों नहीं करते? –
वाह वास्तव में समस्या हल हो गई। एक उत्तर दें और मैं इसे सर्वश्रेष्ठ उत्तर सर के रूप में चिह्नित करूंगा। मुझे वास्तव में क्या पहेली है कि "कुछ कक्ष" को उसी तालिका और कॉलम से पूछताछ की जाती है, इसलिए मुझे उम्मीद है कि यह समान डेटाटाइप और लंबाई 4 के रूप में होगा। – Incognito