oracle 00371,PLS-00371: 'WEB_LOGIN_CHECK_PK.CURSORTYPE' 最多允许有一个声明
Oracle 10.2.0.4 , 从其他地方导入过来的packages, 发现编译的时候报错。
报错信息如下:
PACKAGE BODY DPBG_WEB.WEB_LOGIN_CHECK_PK
On line: 11
PLS-00371: 'WEB_LOGIN_CHECK_PK.CURSORTYPE' 最多允许有一个声明
package的spec 如下:
CREATE OR REPLACE PACKAGE DPBG_WEB.Web_Login_Check_Pk
AS
TYPE CURSORTYPE IS REF CURSOR;
PROCEDURE WEB_CHECK_LOGIN_USER_SP (
V_SYS_NAME IN VARCHAR2,
-- V_ROLE_TYPE IN VARCHAR2,
V_LOGIN_NAME IN VARCHAR2,
-- V_CHECK_TYPE IN VARCHAR2,
RES OUT VARCHAR2,
P_CURSOR OUT Web_Login_Check_Pk.CURSORTYPE );
PROCEDURE DMZ_CHECK_LOGIN_USER_SP (
V_SYS_NAME IN VARCHAR2,
-- V_ROLE_TYPE IN VARCHAR2,
V_LOGIN_NAME IN VARCHAR2,
-- V_CHECK_TYPE IN VARCHAR2,
RES OUT VARCHAR2,
P_CURSOR OUT Web_Login_Check_Pk.CURSORTYPE
);
PROCEDURE GET_LOGIN_INFO_SP (
V_USER_NO IN VARCHAR2,
RES OUT VARCHAR2,
P_CURSOR OUT Web_Login_Check_Pk.CURSORTYPE
);
END Web_Login_Check_Pk;
/
Body 如下:
CREATE OR REPLACE PACKAGE BODY DPBG_WEB.Web_Login_Check_Pk AS
TYPE CURSORTYPE IS REF CURSOR;
PROCEDURE WEB_CHECK_LOGIN_USER_SP (
V_SYS_NAME IN VARCHAR2,
--V_ROLE_TYPE IN VARCHAR2,
V_LOGIN_NAME IN VARCHAR2,
--V_CHECK_TYPE IN VARCHAR2,
RES OUT VARCHAR2,
P_CURSOR OUT Web_Login_Check_Pk.CURSORTYPE
)
AS
BEGIN
/* IF V_CHECK_TYPE = 'NT_ACCOUNT' THEN
OPEN P_CURSOR FOR
SELECT A.SYS_ID,B.ROLE_ID,B.ROLE_NAME,C.NOR_USER_NAME
FROM R_SYSTEM_INFO_T A,
R_ROLE_INFO_T B,
R_ROLE_NORMAL_USER_T C
WHERE B.ROLE_ID = C.ROLE_ID
AND A.SYS_ID = B.SYS_ID
AND C.NOR_USER_TYPE = V_ROLE_TYPE --'AD-GROUP'
AND B.DEL_FLAG ='0'
AND A.DEL_FLAG ='0'
AND A.SYS_NAME =V_SYS_NAME;--'DSD'
ELSE*/
OPEN P_CURSOR FOR
SELECT A.ROLE_ID,A.SPC_USER_PW,A.SYS_ID,A.SPC_USER_NAME,
A.USER_DEPT,C.TEAM_NAME,A.USER_DESC
FROM R_ROLE_SPECIAL_USER_T A,
R_SYSTEM_INFO_T B,
C_IT_DEPT_T C
WHERE A.SYS_ID = B.SYS_ID
AND A.USER_DEPT = C.TEAM_ID(+)
AND B.DEL_FLAG='0'
AND B.SYS_NAME =V_SYS_NAME
AND A.DEL_FLAG='0'
AND A.SPC_USER_NAME = V_LOGIN_NAME;
--END IF;
RES:= 'ok';
EXCEPTION
WHEN OTHERS THEN
RES:='EXCEPTION ERROR.';
END WEB_CHECK_LOGIN_USER_SP;
PROCEDURE DMZ_CHECK_LOGIN_USER_SP (
V_SYS_NAME IN VARCHAR2,
-- V_ROLE_TYPE IN VARCHAR2,
V_LOGIN_NAME IN VARCHAR2,
-- V_CHECK_TYPE IN VARCHAR2,
RES OUT VARCHAR2,
P_CURSOR OUT Web_Login_Check_Pk.CURSORTYPE
)
AS
BEGIN
/* IF V_CHECK_TYPE = 'NT_ACCOUNT' THEN
OPEN P_CURSOR FOR
SELECT A.SYS_ID,B.ROLE_ID,B.ROLE_NAME,C.NOR_USER_NAME
FROM R_SYSTEM_INFO_T A,
R_ROLE_INFO_T B,
R_ROLE_NORMAL_USER_T C
WHERE B.ROLE_ID = C.ROLE_ID
AND A.SYS_ID = B.SYS_ID
AND C.NOR_USER_TYPE = V_ROLE_TYPE --'AD-GROUP'
AND B.DEL_FLAG ='0'
AND A.DEL_FLAG ='0'
AND A.SYS_NAME =V_SYS_NAME;--'DSD'
ELSE*/
OPEN P_CURSOR FOR
SELECT A.ROLE_ID,A.SPC_USER_PW,A.SYS_ID,A.SPC_USER_NAME,
A.USER_DEPT,C.TEAM_NAME,A.USER_DESC
FROM R_ROLE_SPECIAL_USER_T A,
R_SYSTEM_INFO_T B,
C_IT_DEPT_T C
WHERE A.SYS_ID = B.SYS_ID
AND A.USER_DEPT = C.TEAM_ID(+)
AND B.DEL_FLAG='0'
AND B.SYS_NAME ='REPORT'
AND A.DEL_FLAG='0'
AND A.SPC_USER_NAME = V_LOGIN_NAME;
--END IF;
RES:= 'ok';
EXCEPTION
WHEN OTHERS THEN
RES:='EXCEPTION ERROR.';
END DMZ_CHECK_LOGIN_USER_SP;
PROCEDURE GET_LOGIN_INFO_SP (
V_USER_NO IN VARCHAR2,
RES OUT VARCHAR2,
P_CURSOR OUT Web_Login_Check_Pk.CURSORTYPE
)
AS
BEGIN
OPEN P_CURSOR FOR
SELECT A.ID,A.TEAM_ID,A.USER_NAME,A.USER_NO,A.USER_TEL,A.USER_MAIL,B.ROLE_ID
FROM C_IT_MEMBER_T A,
R_ROLE_USER_T B
WHERE A.ID=B.USER_ID(+)
AND A.USER_NO=V_USER_NO ;
END GET_LOGIN_INFO_SP;
END Web_Login_Check_Pk;
/
不是搞开发的, 不知道如何删除重复的定义 。 熟悉的帮忙看看 。
oracle 00371,PLS-00371: 'WEB_LOGIN_CHECK_PK.CURSORTYPE' 最多允许有一个声明相关推荐
- 一个java源文件允许_一个Java源文件中最多只能有一个class定义
一个Java源文件中最多只能有一个class定义 答:× 确诊甲状腺功能紊乱的常规指标是 答:FT3和FT4 I will not let my children in that way. 答:be ...
- cmd使用另一个Oracle的sid,(转发备用)Oracle SID在本机上已经存在,请指定一个不同的SID”的解决办法...
(转发备用)Oracle SID在本机上已经存在,请指定一个不同的SID"的解决办法 (2014-04-30 10:57:17) 1. 开始->设置->控制面板->管理工具 ...
- oracle单表存储记录,oracle从各个表获得数据保存到另一个表
oracle从各个表取得数据保存到另一个表 从各个表中取得数据保存另一个表中: CREATE VIEW PARAMETER_view AS WITH tall AS ( SELECT p.PI_NO, ...
- oracle中如何加字母,Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字...
本文主要向大家介绍了Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle 语句中" ...
- 知其然(3)*.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public
*.java文件中可以包含多个类,但最多只能有一个类,其修饰符为public. 测试1:文件名Dog.java,文件内容如下:[2个类均为public] public class Dog{Dog(){ ...
- 桌上有一空盘,最多允许存放一个水果。爸爸可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。 试用P、V操作实现爸爸、儿子、女儿三个并发进程的同步。
问题描述:桌上有一空盘,最多允许存放一个水果.爸爸可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果. 试用P.V操作实现爸爸.儿子.女儿三个并发进程的同步. 问题分析及思路: 本题 ...
- oracle可以创建多个数据库实例吗_oracle 一个实例下可以建多个数据库么?
oracle 如何在一个数据库创建多个实例 首先"创建数据库的时候起不同的名字"不是一个数据库对应多个实例,概念不清~ 如果就你的问题来看,你可以查阅关于Oracle rac 的信 ...
- 10亿个QQ号码,找出重复次数最多的那一个
hash取模,将号码分散在多个小文件里存储,然后分别对文件内号码排序,统计出现次数最多的那一个,最后对所有最多值取最大的那一个,为所求.
- Oracle分组后对分组内容重复 取第一个
Oracle分组后对分组内容重复 的以另一列排序后 取第一个 语句 select * from( select a.grep, row_number() over (partition by a.gr ...
最新文章
- 关于ZIP大文件压缩
- 十一、Struts2封装请求参数的方式
- flink的checkpoint实验-scala版本
- 红米Note增强版出现”无法安装xxx ,请释放一些存储空间并重试“解决
- JDK 8 BigInteger精确缩小转换方法
- 课题开题报告范文样本_成都汽车职业技术学校举行 2020年省、市、区课题开题报告会...
- (笔试题)滑动窗口的最大值
- 3d打印机 开源资料_3D打印的人类双手,开源课程资料以及更多新闻
- vue vue实例中的data与vue组件中的data()
- matlab如何记录时间,求助:在MATLAB里如何输入时间序列中的时间
- java 栈和队列实现迷宫代码_用栈结构实现队列结构,用队列结构实现栈结构
- STM32串口接收以及发送大全
- 1stopt拟合步骤_1stopt快速公式拟合
- Python 数据处理数据挖掘(五):线性回归
- 故宫景点功课5:中和殿和保和殿
- Windows MySQL 下载及安装教程
- VC++实现的软键盘功能(附源码)
- 使用Boost::Log记录日志
- 《Python从入门到实践》读书笔记——第五章 if语句
- easyswoole3.2重启不成功
热门文章
- 南京理工大学计算机学院教师信息网,南京理工大学教师信息
- 使用java向ftp上传多张图片_ftp免费空间,利用ftp工具定时连接ftp免费空间教程及java配置...
- 光滑噪声数据常用的方法_数据挖掘中常用的数据清洗方法
- 11g java 驱动_Oracle 11g Java驱动包ojdbc6.jar安装到maven库,并查看jar具体版本号
- redis续期_面试官:Redis分布式锁如何解决锁超时问题的?
- java实现封装的三步是_JAVA基础-封装
- Android平台RTMP/RTSP播放器开发系列之解码和绘制
- 路畅畅云固件升级教程_斐讯K2P MTK版简单几步刷入breed教程,附刷第三方固件方法...
- mybatis 一对多查询 按结果嵌套处理、按查询嵌套处理,以及两者之间的区别
- yb3防爆电机型号含义_yb3防爆电机型号含义有哪些?