Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 创建函数-错误_Oracle_Function_Plsql_Oracle Apex - Fatal编程技术网

Oracle 创建函数-错误

Oracle 创建函数-错误,oracle,function,plsql,oracle-apex,Oracle,Function,Plsql,Oracle Apex,创建或替换职能犯罪_tied _officer 声明 lv_见证检查VARCHAR(40); 开始 嗨,伙计们 我正在尝试为我正在为一个项目开发的数据库创建一个函数。然而,这是抛出错误加洛尔 目前的错误是 第18行错误:PLS-00103:在预期以下情况之一时遇到符号“文件结束”: ( begin case declare end exception exit for goto if loop mod null pragma raise return select update wh

创建或替换职能犯罪_tied _officer 声明 lv_见证检查VARCHAR(40); 开始 嗨,伙计们

我正在尝试为我正在为一个项目开发的数据库创建一个函数。然而,这是抛出错误加洛尔

目前的错误是 第18行错误:PLS-00103:在预期以下情况之一时遇到符号“文件结束”:

   ( begin case declare end exception exit for goto if loop mod
   null pragma raise return select update while with

    << continue close current delete fetch lock
   insert open rollback savepoint set sql execute commit forall
   merge pipe purge

1. CREATE OR REPLACE FUNCTION crimes_tied_officer
2. DECLARE
3. lv_witness_check VARCHAR(40);
我的表格位于以下链接。


尝试此操作,您还需要指定返回类型

CREATE OR REPLACE FUNCTION crimes_tied_officer(FK1_WITNESS_TYPE_ID VARCHAR2) RETURN VARCHAR2
  AS
    lv_witness_check VARCHAR2(40);
  BEGIN
    IF FK1_WITNESS_TYPE_ID    = '800' THEN
      lv_witness_check       := 'External Observation Witness';
    ELSIF FK1_WITNESS_TYPE_ID = 801 THEN
      lv_witness_check       := 'Expert Witness';
    ELSIF FK1_WITNESS_TYPE_ID = 802 THEN
      lv_witness_check       := 'Partner or Spouse';
    ELSIF FK1_WITNESS_TYPE_ID = 803 THEN
      lv_witness_check       := 'Police Officer';
    ELSIF FK1_WITNESS_TYPE_ID = 804 THEN
      lv_witness_check       := 'The Accused';
    ELSE
      lv_witness_check := 'No Witness Type Selected';
    END IF;
    RETURN lv_witness_check;
  END;

将函数创建为,而不是声明。您还需要指定它返回的类型。提供的服务应该可以帮助你!第5行错误:PL/SQL:语句被忽略3。lv_见证检查VARCHAR2(40);4.从5开始。如果FK1_见证类型_ID='800',则为6。lv_见证检查:=“外部观察见证”;7.ELSIF FK1_-WITNESS_-TYPE_-ID=801则返回该代码。“FK1_-WITNESS_-TYPE_-ID”是参数吗?添加了该参数,因此请确保在调用该参数时,将“FK1_-WITNESS_-TYPE_-ID”传递给它,如果这对您有效,您能接受我的答案吗?
CREATE OR REPLACE FUNCTION crimes_tied_officer(FK1_WITNESS_TYPE_ID VARCHAR2) RETURN VARCHAR2
  AS
    lv_witness_check VARCHAR2(40);
  BEGIN
    IF FK1_WITNESS_TYPE_ID    = '800' THEN
      lv_witness_check       := 'External Observation Witness';
    ELSIF FK1_WITNESS_TYPE_ID = 801 THEN
      lv_witness_check       := 'Expert Witness';
    ELSIF FK1_WITNESS_TYPE_ID = 802 THEN
      lv_witness_check       := 'Partner or Spouse';
    ELSIF FK1_WITNESS_TYPE_ID = 803 THEN
      lv_witness_check       := 'Police Officer';
    ELSIF FK1_WITNESS_TYPE_ID = 804 THEN
      lv_witness_check       := 'The Accused';
    ELSE
      lv_witness_check := 'No Witness Type Selected';
    END IF;
    RETURN lv_witness_check;
  END;