Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle - в този обхват не съществува функция с име X

грешката ще бъде 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;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Прекалено сложна обработка на oracle jdbc BLOB

  2. Как да получите максималната възможна дата в Oracle?

  3. Функция TRANSLATE() в Oracle

  4. Java заявката с DB Link не затваря Db Link връзката

  5. JProgressBar не се актуализира, не може да намери следа