Domanda

ERROR IS BETWEEN THE VARCHAR2 AND THE (4) seems to be a syntax error.

create or replace

    FUNCTION Employee_exists
        (p_employee_id IN NUMBER)
    RETURN VARCHAR2(4);

    AS
    BEGIN
        SELECT employee_id
        FROM employees
        WHERE employee_id = p_employee_id;
        RETURN 'true';
    END Employee_exists;
È stato utile?

Soluzione

There are actually two errors:

  1. You can't specify the length of the return type in a function or procedure specification
  2. ; is a statement terminator, as such it has no place between the return type and AS

Your first line should be:

FUNCTION employee_exists
        (p_employee_id IN NUMBER)
    RETURN VARCHAR2 AS

Altri suggerimenti

    create or replace function test_fun(id in number)
    return long
    as
    disp_price long;
    Begin
    select price into disp_price from orders
    where id=2;
    return disp_price;
    end test_fun;

-----------------------------------------------------------
OUTPUT
-----------------------------------------------------------
declare
m_price long;
begin
m_price:=test_fun(1);
end;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top