DECLARE @CODE CHAR(20),@NAME NVARCHAR(50),@ENDFLAG BIT
SELECT @CODE=MATERIALGROUPITEMCODE,@NAME=MATERIALGROUPITEMNAME,@ENDFLAG=1
FROM PUB_MATERIALGROUPITEM
WHERE MATERIALGROUPCODE='001'AND MATERIALGROUPITEMCODE='201'
IF @CODE IS NULL
RAISERROR('此物料分类不存在!',16,1)
ELSE
IF @ENDFLAG=1
SELECT @CODE AS MATERIALGROUPITEMCODE,@NAME AS MATERIALGROUPITEMNAME
ELSE
RAISERROR('此物料分类非末级!',16,1)一运行提示:
ORA-06550: 第 1 行, 第 9 列:
PLS-00103: 出现符号 "@"在需要下列之一时:
begin function package pragma
procedure subtype type use <an identifier>
<a double-quoted delimited-identifier> form current cursor
符号 "@" 被忽略。
ORA-06550: 第 1 行, 第 23 列:
PLS-00103: 出现符号 ","在需要下列之一时:
:= ; not null default
character
SELECT @CODE=MATERIALGROUPITEMCODE,@NAME=MATERIALGROUPITEMNAME,@ENDFLAG=1
FROM PUB_MATERIALGROUPITEM
WHERE MATERIALGROUPCODE='001'AND MATERIALGROUPITEMCODE='201'
IF @CODE IS NULL
RAISERROR('此物料分类不存在!',16,1)
ELSE
IF @ENDFLAG=1
SELECT @CODE AS MATERIALGROUPITEMCODE,@NAME AS MATERIALGROUPITEMNAME
ELSE
RAISERROR('此物料分类非末级!',16,1)一运行提示:
ORA-06550: 第 1 行, 第 9 列:
PLS-00103: 出现符号 "@"在需要下列之一时:
begin function package pragma
procedure subtype type use <an identifier>
<a double-quoted delimited-identifier> form current cursor
符号 "@" 被忽略。
ORA-06550: 第 1 行, 第 23 列:
PLS-00103: 出现符号 ","在需要下列之一时:
:= ; not null default
character
declare
v_code varchar2(20);
v_name varchar2(50);
v_endflag NUMBER(18,0);
v_cur sys_refcursor;
begin -- 此查询语句应该只能返回一条数据行,否则赋值语句会出错
select MaterialGroupItemCode, MaterialGroupItemName, 1 INTO v_code, v_name, v_endflag
from pub_materialgroupitem
where MaterialGroupCode='001 and MaterialGroupItemCode='201'; IF nvl(v_code,'')='' then
RAISE_APPLICATION_ERROR(-20998,'此物料分类不存在!');
ELSE
IF v_endflag=1
open v_cur for 'select :v_code as MaterialGroupItemCode, :v_name as MaterialGroupItemName from dual' using v_code, v_name;
ELSE
RAISE_APPLICATION_ERROR(-20999,'此物料分类非末级!');
END IF;
END IF;
end;
/
declare
v_code varchar2(20);
v_name varchar2(50);
v_endflag NUMBER(18,0);
v_cur sys_refcursor;
begin -- 此查询语句应该只能返回一条数据行,否则赋值语句会出错
select MaterialGroupItemCode, MaterialGroupItemName, 1 INTO v_code, v_name, v_endflag
from pub_materialgroupitem
where MaterialGroupCode='001' and MaterialGroupItemCode='201'; IF nvl(v_code,'')='' then
RAISE_APPLICATION_ERROR(-20998,'此物料分类不存在!');
ELSE
IF v_endflag=1
open v_cur for 'select :v_code as MaterialGroupItemCode, :v_name as MaterialGroupItemName from dual' using v_code, v_name;
ELSE
RAISE_APPLICATION_ERROR(-20999,'此物料分类非末级!');
END IF;
END IF;
end;
/
PLS-00103: 出现符号 "OPEN"在需要下列之一时:
* & - + / at mod remainder
rem then <an exponent (**)> and or || multiset
open v_cur for 'select :v_code as MaterialGroupItemCode, :v_name as MaterialGroupItemName from dual' using v_code, v_name;
ELSE
-- 嗯,对了:少了 个 then-- 瞎整一下:
declare
v_code varchar2(20);
v_name varchar2(50);
v_endflag NUMBER(18,0);
v_cur sys_refcursor;
begin -- 此查询语句应该只能返回一条数据行,否则赋值语句会出错
select MaterialGroupItemCode, MaterialGroupItemName, 1 INTO v_code, v_name, v_endflag
from pub_materialgroupitem
where MaterialGroupCode='001' and MaterialGroupItemCode='201'; IF nvl(v_code,'')='' then
RAISE_APPLICATION_ERROR(-20998,'此物料分类不存在!');
ELSE
IF v_endflag=1 then
open v_cur for 'select :v_code as MaterialGroupItemCode, :v_name as MaterialGroupItemName from dual' using v_code, v_name;
ELSE
RAISE_APPLICATION_ERROR(-20999,'此物料分类非末级!');
END IF;
END IF;
end;
/