0

ERROR IS BETWEEN THE VARCHAR2 AND THE (4) は構文エラーのようです。

作成または置換

    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;
4

2 に答える 2

3

実際には次の 2 つのエラーがあります。

  1. 関数またはプロシージャの仕様で戻り値の型の長さを指定することはできません
  2. ;はステートメント ターミネータであるため、戻り値の型とAS

最初の行は次のようになります。

FUNCTION employee_exists
        (p_employee_id IN NUMBER)
    RETURN VARCHAR2 AS
于 2013-10-01T15:04:15.457 に答える
0
    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;
于 2013-11-12T06:14:30.487 に答える