代码之家  ›  专栏  ›  技术社区  ›  user5507535

SQL中是否可以有常量函数参数?

  •  0
  • user5507535  · 技术社区  · 5 年前

    像这样的事情是行不通的:

    function my_func(
            first_param  constant varchar2
          , second_param constant varchar2
          ) return varchar2
       is
    ... -- Rest
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   MT0    5 年前

    这是不必要的,因为您无法重新定义 IN 参数例如:

    CREATE FUNCTION does_not_work(
      a IN NUMBER,
      b IN NUMBER
    ) RETURN NUMBER
    IS
    BEGIN
      IF a < 2 THEN
        a := 2;
      END IF;
      RETURN GREATEST( a, b );
    END;
    /
    

    (注:附件) 关键字可选,默认参数方向;如果声明签名时没有

    给予:

    ORA-24344: success with compilation error
    

    如果您查看错误:

    SELECT * FROM USER_ERRORS;
    

    产出:

    名称 类型 序列 线 位置 属性 报文号
    作用 1. 8. 5. PLS-00363:表达式“A”不能用作分配目标 错误
    你不工作吗 作用 8. 5. PL/SQL:忽略语句 0

    在里面

    推荐文章