त्रुटि होगी messaget := testcursor.column1;
चूंकि तब तक कर्सर बंद हो चुका होता है (आपको बस testcursorrec.column2
का उपयोग करना चाहिए ।
आप कोड नहीं पंक्तियों की जांच कर रहे हैं, न ही डुप्लिकेट पंक्तियों की जांच कर रहे हैं। आप इसे आसान बना सकते हैं
create or replace function testfunction
(
somevalue in table1.column1%type
)
return table1.column2%type
AS
messaget table1.column2%type; -- use %type where possible.
begin
select t.column2
into messaget
from table1 t
where t.column1 = somevalue
and rownum = 1;--only if you dont care if theres 2+ rows.
return messaget;
exception
when no_data_found
then
return null; -- if you want to ignore no rows.
end;