大家看一下,这个过程报的错误怎么解决啊!过程:CREATE OR REPLACE WP_GRTJ_JWT
--个人统计存储过程
( M_RESULT OUT VARCHAR2,
M_MSG OUT VARCHAR2,
M_AREA_CODE IN VARCHAR2,
M_POLICE_NAME IN VARCHAR2,
M_START_DATE IN VARCHAR2,
M_END_DATE IN VARCHAR2,
M_TYPE IN VARCHAR2,
M_ZCLWZCS OUT VARCHAR2,
M_BCLWZCS OUT VARCHAR2,
M_WCLWZCS OUT VARCHAR2,
M_ZWZKFS OUT VARCHAR2,
M_BWZKFS OUT VARCHAR2,
M_WWZKFS OUT VARCHAR2,
M_ZFKJES OUT VARCHAR2,
M_ZDKZJS OUT VARCHAR2,
M_ZZKCS OUT VARCHAR2,
M_ZZLCS OUT VARCHAR2,
M_ZSJCS OUT VARCHAR2
)
IS
V_ZCLWZCS OUT VARCHAR2,
V_BCLWZCS OUT VARCHAR2,
V_WCLWZCS OUT VARCHAR2,
V_ZWZKFS OUT VARCHAR2,
V_BWZKFS OUT VARCHAR2,
V_WWZKFS OUT VARCHAR2,
V_ZFKJES OUT VARCHAR2,
V_ZDKZJS OUT VARCHAR2,
V_ZZKCS OUT VARCHAR2,
V_ZZLCS OUT VARCHAR2,
V_ZSJCS OUT VARCHAR2,
TMP_V_TIME VARCHAR2(20); BEGIN
M_MSG:='1';
IF M_TYPE='1' THEN
TMP_V_TIME:=' V.PUNISH_DATE';
END IF;
IF M_TYPE='2' THEN
TMP_V_TIME:=' V.INPUT_DATE';
END IF;
select count(distinct(V.Violation_ID)) V_ZCLWZCS,sum(V.score) V_ZWZKFS,sum(V.fine) V_ZFKJES
from w_violation v where v.is_del='0' and area_code=M_AREA_CODE
and police_name=M_POLICE_NAME and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZCLWZCS:=NVL(V_ZCLWZCS,0);
M_ZWZKFS:=NVL(V_ZWZKFS,0);
M_ZFKJES:=NVL(V_ZFKJES,0);
M_MSG:='2'
select count(distinct(violation_id)) V_BCLWZCS,sum(V.Score) V_BWZKFS
from w_violation v where v.is_del='0' and area_code=M_AREA_CODE
and police_name=M_POLICE_NAME and substr(V.grant_unit,1,4)=SUBSTR(M_AREA_CODE,1,4)
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_BCLWZCS:=NVL(V_BCLWZCS,0);
M_BWZKFS:=NVL(V_BWZKFS,0);
M_MSG:='3'
select count(distinct(violation_id)) V_WCLWZCS,sum(V.Score) V_WWZKFS
from w_violation v where v.is_del='0' and area_code=M_AREA_CODE
and police_name=M_POLICE_NAME and substr(grant_unit,1,4)<>SUBSTR(M_AREA_CODE,1,4)
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_WCLWZCS:=NVL(V_WCLWZCS,0);
M_WWZKFS:=NVL(V_WWZKFS,0);
M_MSG:='4'
select count(distinct(violation_id)) V_ZDKZJS from wv_punish vp
where Area_code=M_AREA_CODE and police_name=M_POLICE_NAME
and hang_months>0
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZDKZJS:=NVL(V_ZDKZJS,0)
--暂扣次数
M_MSG:='5'
select count(distinct(f.violation_id)) V_ZZKCS from w_violation v,w_force f
where v.violation_Id=f.violation_id
and v.Area_Code=M_AREA_CODE
and v.police_name=M_POLICE_NAME
and f.keap_Reason like '1%'
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1; M_ZZKCS:=(V_ZZKCS,0);
select count(distinct(f.violation_id)) V_ZZLCS from w_violation v,w_force f
where v.violation_id=f.Violation_id
and v.Area_code=M_AREA_CODE
and v.police_name=M_POLICE_NAME
and f.Capture_Reason like '2%'
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZZLCS:=(V_ZZLCS,0);
select count(distinct(f.violation_Id)) V_ZSJCS from w_violation v,w_Force f
where v.Violation_id=f.Violation_id
and v.Area_code=M_AREA_CODE
and police_name=M_POLICE_NAME
and f.Resort_reason like '3%'
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZSJCS:=NVL(V_ZSJCS,0); COMMIT;
M_RESULT:='1';
M_MSG:='统计已完成!';
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
M_RESULT:='-1';
M_MSG:=M_MSG||'统计过程错误! 错误信息:'||SUBSTR(SQLERRM,1,300);
END;
报错:输入被截为9个字符
select count(distinct(violation_id)) V_BCLWZCS,sum(V.Score) V_BWZ
*
ERROR 位于第 18 行:
ORA-06550: 第 18 行, 第 3 列:
PLS-00103: 出现符号 "SELECT"在需要下列之一时:
.(*@%&=-+;</>atinmodnot
rem<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
符号 ";" 被替换为 "SELECT" 后继续。
ORA-06550: 第 27 行, 第 3 列:
PLS-00103: 出现符号 "SELECT"在需要下列之一时:
.(*@%&=-+;</>atinmodnot
rem<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
符号 ";" 被替换为 "SELECT" 后继续。
ORA-06550: 第 36 行, 第 3 列:
PLS-00103: 出现符号 "SELECT"在需要下列之一时:
.(*@%&=-+;</>atinmodnot
rem<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
符号 ";" 被替换为 "SELECT" 后继续。
ORA-06550: 第 44 行, 第 3 列:
PLS-00103: 出现符号 "M_MSG"在需要下列之一时:
.(*%&=-+;</>atinmodnotrem
<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
--个人统计存储过程
( M_RESULT OUT VARCHAR2,
M_MSG OUT VARCHAR2,
M_AREA_CODE IN VARCHAR2,
M_POLICE_NAME IN VARCHAR2,
M_START_DATE IN VARCHAR2,
M_END_DATE IN VARCHAR2,
M_TYPE IN VARCHAR2,
M_ZCLWZCS OUT VARCHAR2,
M_BCLWZCS OUT VARCHAR2,
M_WCLWZCS OUT VARCHAR2,
M_ZWZKFS OUT VARCHAR2,
M_BWZKFS OUT VARCHAR2,
M_WWZKFS OUT VARCHAR2,
M_ZFKJES OUT VARCHAR2,
M_ZDKZJS OUT VARCHAR2,
M_ZZKCS OUT VARCHAR2,
M_ZZLCS OUT VARCHAR2,
M_ZSJCS OUT VARCHAR2
)
IS
V_ZCLWZCS OUT VARCHAR2,
V_BCLWZCS OUT VARCHAR2,
V_WCLWZCS OUT VARCHAR2,
V_ZWZKFS OUT VARCHAR2,
V_BWZKFS OUT VARCHAR2,
V_WWZKFS OUT VARCHAR2,
V_ZFKJES OUT VARCHAR2,
V_ZDKZJS OUT VARCHAR2,
V_ZZKCS OUT VARCHAR2,
V_ZZLCS OUT VARCHAR2,
V_ZSJCS OUT VARCHAR2,
TMP_V_TIME VARCHAR2(20); BEGIN
M_MSG:='1';
IF M_TYPE='1' THEN
TMP_V_TIME:=' V.PUNISH_DATE';
END IF;
IF M_TYPE='2' THEN
TMP_V_TIME:=' V.INPUT_DATE';
END IF;
select count(distinct(V.Violation_ID)) V_ZCLWZCS,sum(V.score) V_ZWZKFS,sum(V.fine) V_ZFKJES
from w_violation v where v.is_del='0' and area_code=M_AREA_CODE
and police_name=M_POLICE_NAME and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZCLWZCS:=NVL(V_ZCLWZCS,0);
M_ZWZKFS:=NVL(V_ZWZKFS,0);
M_ZFKJES:=NVL(V_ZFKJES,0);
M_MSG:='2'
select count(distinct(violation_id)) V_BCLWZCS,sum(V.Score) V_BWZKFS
from w_violation v where v.is_del='0' and area_code=M_AREA_CODE
and police_name=M_POLICE_NAME and substr(V.grant_unit,1,4)=SUBSTR(M_AREA_CODE,1,4)
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_BCLWZCS:=NVL(V_BCLWZCS,0);
M_BWZKFS:=NVL(V_BWZKFS,0);
M_MSG:='3'
select count(distinct(violation_id)) V_WCLWZCS,sum(V.Score) V_WWZKFS
from w_violation v where v.is_del='0' and area_code=M_AREA_CODE
and police_name=M_POLICE_NAME and substr(grant_unit,1,4)<>SUBSTR(M_AREA_CODE,1,4)
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_WCLWZCS:=NVL(V_WCLWZCS,0);
M_WWZKFS:=NVL(V_WWZKFS,0);
M_MSG:='4'
select count(distinct(violation_id)) V_ZDKZJS from wv_punish vp
where Area_code=M_AREA_CODE and police_name=M_POLICE_NAME
and hang_months>0
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZDKZJS:=NVL(V_ZDKZJS,0)
--暂扣次数
M_MSG:='5'
select count(distinct(f.violation_id)) V_ZZKCS from w_violation v,w_force f
where v.violation_Id=f.violation_id
and v.Area_Code=M_AREA_CODE
and v.police_name=M_POLICE_NAME
and f.keap_Reason like '1%'
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1; M_ZZKCS:=(V_ZZKCS,0);
select count(distinct(f.violation_id)) V_ZZLCS from w_violation v,w_force f
where v.violation_id=f.Violation_id
and v.Area_code=M_AREA_CODE
and v.police_name=M_POLICE_NAME
and f.Capture_Reason like '2%'
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZZLCS:=(V_ZZLCS,0);
select count(distinct(f.violation_Id)) V_ZSJCS from w_violation v,w_Force f
where v.Violation_id=f.Violation_id
and v.Area_code=M_AREA_CODE
and police_name=M_POLICE_NAME
and f.Resort_reason like '3%'
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZSJCS:=NVL(V_ZSJCS,0); COMMIT;
M_RESULT:='1';
M_MSG:='统计已完成!';
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
M_RESULT:='-1';
M_MSG:=M_MSG||'统计过程错误! 错误信息:'||SUBSTR(SQLERRM,1,300);
END;
报错:输入被截为9个字符
select count(distinct(violation_id)) V_BCLWZCS,sum(V.Score) V_BWZ
*
ERROR 位于第 18 行:
ORA-06550: 第 18 行, 第 3 列:
PLS-00103: 出现符号 "SELECT"在需要下列之一时:
.(*@%&=-+;</>atinmodnot
rem<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
符号 ";" 被替换为 "SELECT" 后继续。
ORA-06550: 第 27 行, 第 3 列:
PLS-00103: 出现符号 "SELECT"在需要下列之一时:
.(*@%&=-+;</>atinmodnot
rem<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
符号 ";" 被替换为 "SELECT" 后继续。
ORA-06550: 第 36 行, 第 3 列:
PLS-00103: 出现符号 "SELECT"在需要下列之一时:
.(*@%&=-+;</>atinmodnot
rem<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
符号 ";" 被替换为 "SELECT" 后继续。
ORA-06550: 第 44 行, 第 3 列:
PLS-00103: 出现符号 "M_MSG"在需要下列之一时:
.(*%&=-+;</>atinmodnotrem
<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
解决方案 »
- Oracle日期比较问题,很诡异,,
- oracle10g问题
- oracle灾难,这种情况oracle如何备份
- 如何知道.dmp文件的oracle版本
- 求oracle 8i 补丁,8.1.7.1.2或以上的
- to_char(YQZCSJ,'mm/dd/hh') 可以 为什么 to_char(YQZCSJ,'mm月dd日hh时') 却不行? 有什么方法解决?
- 关于select时事务的问题。
- 俺只有10分了,各位千万帮忙:如何实现合并表?
- 如何用ADO调用Oracle中的FUNCTION?
- 哪位有LECCO Sql Expert for Oracle的注册码?
- 不同数据库中的表复制
- 往表中一个时间类型的字段插入数据时老是出错,怎么改时间日期类型的格式啊??
select ... into ...語句。
select count(distinct(V.Violation_ID)) INTO V_ZCLWZCS,sum(V.score) INTO V_ZWZKFS,sum(V.fine)
*
ERROR 位于第 9 行:
ORA-06550: 第 9 行, 第 70 列:
PLS-00103: 出现符号 "INTO"在需要下列之一时:
.(,%from
符号 "(在 "INTO" 继续之前已插入。
ORA-06550: 第 9 行, 第 97 列:
PLS-00103: 出现符号 "INTO"在需要下列之一时:
),*&|=-+</>atinmodnotrem=>
..<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
select count(distinct(V.Violation_ID)) ,sum(V.score),sum(V.fine)
INTO V_ZCLWZCS,V_ZWZKFS ,V.ff from table_name where .....
M_MSG:='警员统计过程错误! 错误信息:'||SUBSTRB(SQLERRM,1,300);
ERROR 位于第 81 行:
ORA-06550: 第 81 行, 第 68 列:
PLS-00103: 出现符号 ";"在需要下列之一时:
.(*%&=-+;</>atinmodnotrem
<an exponent (**)><> or != or ~=>=<=<>andorlikebetween
is nullis not||is dangling
符号 ";在 ";" 继续之前已插入。
这句后面的分号有问题,是中文分号,正确的应该是";"
你好!确实是中文分号的问题,我已经改过来了。
但提示一些错误,不太清楚什么原因了,我已经声明了啊。
ERROR 位于第 2 行:
ORA-06550: 第 2 行, 第 6 列:
PLS-00201: 必须说明标识符 'M_MSG'
ORA-06550: 第 2 行, 第 6 列:
PL/SQL: Statement ignored
ORA-06550: 第 3 行, 第 9 列:
PLS-00201: 必须说明标识符 'M_TYPE'
ORA-06550: 第 3 行, 第 6 列:
PL/SQL: Statement ignored
ORA-06550: 第 6 行, 第 9 列:
PLS-00201: 必须说明标识符 'M_TYPE'
ORA-06550: 第 6 行, 第 6 列:
PL/SQL: Statement ignored
ORA-06550: 第 10 行, 第 60 列:
PLS-00201: 必须说明标识符 'M_AREA_CODE'
ORA-06550: 第 9 行, 第 3 列:
PL/SQL: SQL Statement ignored
ORA-06550: 第 13 行, 第 3 列:
PLS-00201: 必须说明标识符 'M_ZCLWZCS'
ORA-06550: 第 13 行, 第 3 列:
PL/SQL: Statement ignored
ORA-06550: 第 14 行, 第 3 列:
PLS-00201: 必须说明标识符 'M_ZWZKFS'
ORA-06550: 第 14 行, 第 3 列:
PL/SQL: Statement ignored
ORA-06550: 第 15 行, 第 3 列:
PLS-00201: 必须说明标识符 'M_ZFKJES'
ORA-06550: 第 15 行, 第 3 列:
PL/SQL: Statement ignored
ORA-06550: 第 16 行, 第 3 列:
PLS-00201: 必须说明标识符 'M_MSG'
ORA-06550: 第 16 行, 第 3 列:
PL/SQL: Statement ignored
ORA-06550: 第 18 行, 第 59 列:
正确的应该这样:
V_ZCLWZCS VARCHAR2(20);
V_BCLWZCS VARCHAR2(20);
V_WCLWZCS VARCHAR2(20);
V_ZWZKFS VARCHAR2(20);
V_BWZKFS VARCHAR2(20);
V_WWZKFS VARCHAR2(20);
V_ZFKJES VARCHAR2(20);
V_ZDKZJS VARCHAR2(20);
V_ZZKCS VARCHAR2(20);
V_ZZLCS VARCHAR2(20);
V_ZSJCS VARCHAR2(20);
TMP_V_TIME VARCHAR2(20); 对于存储过程注意方面:1、参数必须加上标识IN或者OUT,并且不能指定大小
2、变量不能加IN/OUT,并且应该指定大小,以上的属于变量
Is
变量定义(包括游标的定义,数组、集合等的定义)
Begin
程序主体
End;
--个人统计存储过程
( M_RESULT OUT VARCHAR2, --过程执行结果,1成功,-1过程内部错
M_MSG OUT VARCHAR2, --过程执行消息
M_AREA_CODE IN VARCHAR2, --统计单位代码,六位
M_POLICE_NAME IN VARCHAR2, --统计姓名
M_START_DATE IN VARCHAR2, --格式:YYYY.MM.DD
M_END_DATE IN VARCHAR2, --格式:YYYY.MM.DD
M_TYPE IN VARCHAR2,
M_ZCLWZCS OUT NUMBER,
M_BCLWZCS OUT NUMBER,
M_WCLWZCS OUT NUMBER,
M_ZWZKFS OUT NUMBER,
M_BWZKFS OUT NUMBER,
M_WWZKFS OUT NUMBER,
M_ZFKJES OUT NUMBER,
M_ZDKZJS OUT NUMBER,
M_ZZKCS OUT NUMBER,
M_ZZLCS OUT NUMBER,
M_ZSJCS OUT NUMBER
)
IS
V_ZCLWZCS NUMBER(10,0),
V_BCLWZCS NUMBER(10,0),
V_WCLWZCS NUMBER(10,0),
V_ZWZKFS NUMBER(10,0),
V_BWZKFS NUMBER(10,0),
V_WWZKFS NUMBER(10,0),
V_ZFKJES NUMBER(10,0),
V_ZDKZJS NUMBER(5,0),
V_ZZKCS NUMBER(5,0),
V_ZZLCS NUMBER(5,0),
V_ZSJCS NUMBER(5,0),
TMP_V_TIME VARCHAR2(20); BEGIN
M_MSG:='1';
IF M_TYPE='1' THEN
TMP_V_TIME:=' V.PUNISH_DATE';
END IF;
IF M_TYPE='2' THEN
TMP_V_TIME:=' V.INPUT_DATE';
END IF;
select count(distinct(V.Violation_ID)) ,sum(V.score) ,sum(V.fine) INTO V_ZCLWZCS , V_ZWZKFS, V_ZFKJES
from w_violation v where v.is_del='0' and area_code=M_AREA_CODE
and police_name=M_POLICE_NAME and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZCLWZCS:=NVL(V_ZCLWZCS,0);
M_ZWZKFS:=NVL(V_ZWZKFS,0);
M_ZFKJES:=NVL(V_ZFKJES,0);
M_MSG:='2';
select count(distinct(violation_id)) ,sum(V.Score) INTO V_BCLWZCS, V_BWZKFS
from w_violation v where v.is_del='0' and area_code=M_AREA_CODE
and police_name=M_POLICE_NAME and substr(V.grant_unit,1,4)=SUBSTR(M_AREA_CODE,1,4)
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_BCLWZCS:=NVL(V_BCLWZCS,0);
M_BWZKFS:=NVL(V_BWZKFS,0);
M_MSG:='3';
select count(distinct(violation_id)) ,sum(V.Score) INTO V_WCLWZCS, V_WWZKFS
from w_violation v where v.is_del='0' and area_code=M_AREA_CODE
and police_name=M_POLICE_NAME and substr(grant_unit,1,4)<>SUBSTR(M_AREA_CODE,1,4)
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_WCLWZCS:=NVL(V_WCLWZCS,0);
M_WWZKFS:=NVL(V_WWZKFS,0);
M_MSG:='4';
select count(distinct(violation_id)) INTO V_ZDKZJS from wv_punish vp
where Area_code=M_AREA_CODE and police_name=M_POLICE_NAME
and hang_months>0
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZDKZJS:=NVL(V_ZDKZJS,0);
--暂扣次数
M_MSG:='5';
select count(distinct(f.violation_id)) INTO V_ZZKCS from w_violation v,w_force f
where v.violation_Id=f.violation_id
and v.Area_Code=M_AREA_CODE
and v.police_name=M_POLICE_NAME
and f.keap_Reason like '1%'
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1; M_ZZKCS:=(V_ZZKCS,0);
select count(distinct(f.violation_id)) INTO V_ZZLCS from w_violation v,w_force f
where v.violation_id=f.Violation_id
and v.Area_code=M_AREA_CODE
and v.police_name=M_POLICE_NAME
and f.Capture_Reason like '2%'
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZZLCS:=(V_ZZLCS,0);
select count(distinct(f.violation_Id)) INTO V_ZSJCS from w_violation v,w_Force f
where v.Violation_id=f.Violation_id
and v.Area_code=M_AREA_CODE
and police_name=M_POLICE_NAME
and f.Resort_reason like '3%'
and TEMP_DATE>=TO_DATE(M_START_DATE,'YYYY.MM.DD')
and TMP_V_TIME<=TO_DATE(M_END_DATE,'YYYY.MM.DD')+1;
M_ZSJCS:=NVL(V_ZSJCS,0); COMMIT;
M_RESULT:='1';
M_MSG:='统计已完成!';
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
M_RESULT:='-1';
M_MSG:='警员统计过程错误! 错误信息:'||SUBSTRB(SQLERRM,1,300);
END;
/ 错误提示:
CREATE OR REPLACE WP_GRTJ_JWT
*
ERROR 位于第 1 行:
ORA-00922: 缺少或无效选项
输入被截为9个字符
M_MSG:='1';
*
ERROR 位于第 2 行:
ORA-06550: 第 2 行, 第 6 列:
PLS-00201: 必须说明标识符 'M_MSG'
ORA-06550: 第 2 行, 第 6 列:
PL/SQL: Statement ignored
ORA-06550: 第 3 行, 第 9 列:
PLS-00201: 必须说明标识符 'M_TYPE'
ORA-06550: 第 3 行, 第 6 列:
PL/SQL: Statement ignored
ORA-06550: 第 6 行, 第 9 列:
PLS-00201: 必须说明标识符 'M_TYPE'
ORA-06550: 第 6 行, 第 6 列:
PL/SQL: Statement ignored
ORA-06550: 第 10 行, 第 60 列:
PLS-00201: 必须说明标识符 'M_AREA_CODE'
ORA-06550: 第 9 行, 第 3 列:
PL/SQL: SQL Statement ignored
ORA-06550: 第 13 行, 第 3 列:
PLS-00201: 必须说明标识符 'M_ZCLWZCS'
ORA-06550: 第 13 行, 第 3 列:
PL/SQL: Statement ignored
ORA-06550: 第 14 行, 第 3 列:
PLS-00201: 必须说明标识符 'M_ZWZKFS'
ORA-06550: 第 14 行, 第 3 列:
PL/SQL: Statement ignored
ORA-06550: 第 15 行, 第 3 列:
PLS-00201: 必须说明标识符 'M_ZFKJES'
ORA-06550: 第 15 行, 第 3 列:
PL/SQL: Statement ignored
ORA-06550: 第 17 行, 第 3 列:
PLS-00201: 必须说明标识符 'M_MSG'
ORA-06550: 第 17 行, 第 3 列:
PL/SQL: Statement ignored
ORA-06550: 第 19 行, 第 59 列:
变量必须以";"结尾。你自己改吧
IS
V_ZCLWZCS NUMBER(10,0),
V_BCLWZCS NUMBER(10,0),
V_WCLWZCS NUMBER(10,0),
V_ZWZKFS NUMBER(10,0),
V_BWZKFS NUMBER(10,0),
V_WWZKFS NUMBER(10,0),
V_ZFKJES NUMBER(10,0),
V_ZDKZJS NUMBER(5,0),
V_ZZKCS NUMBER(5,0),
V_ZZLCS NUMBER(5,0),
V_ZSJCS NUMBER(5,0),
TMP_V_TIME VARCHAR2(20); BEGIN