创建或替换功能crime_tied_officer 宣布 lv_witness_check 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
DECLARE
lv_witness_check VARCHAR(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;
我的表位于以下链接。 http://gyazo.com/0d01e276984bf464be36db075fc62e56
答案 0 :(得分:0)
试试这个,你还需要指定一个返回类型
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;