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;

/

不是搞开发的,  不知道如何删除重复的定义 。   熟悉的帮忙看看 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle判断数据出现交叉,Oracle move table分析

在move操作的时候,进行的是block之间的数据copy,所以table所位于的block的区域会发生变化;所有行物理存储的顺序不会发生变化,但行号会变成按AAA增1的顺子,所以block里行会挪紧,实现了消除HWM和行碎片(包括…

php 路径有汉字,路径文字工具

大家可能会在视频上面看到一些不规则的字幕吧,比如:圆形、椭圆、波浪形等等,这些也叫做路径文字,就是在给视频添加字幕的时候,让文字按着自己描绘的路径来排列,这样就得到了路径文字。原理很简单&#xff0…

在toad新增oracle用户,利用toad发现oracle自动为你干了什么(表空间建立和用户建立)...

利用toad发现oracle自动为你干了什么(表空间建立和用户建立)Oracle:10.2.0.1Windows 2003一、表空间sql>Create tablespace dba datafile ‘D:\dba.dbf’ size 1M autoextend on maxsize 10M;-- DBA (Tablespace)--CREATE TABLESPACE DBA DATAFILED:\DBA.DBF SIZE 1M AUTOE…

linux依据时间过滤文件,详解Linux查找目录下的按时间过滤的文件

在维护项目中,有时会指定都一些条件进行过滤文件,并对该批文件进行操作;这时我们将使用shell命令进行操作;直接上代码#!/bin/sh#BEGIN#find ./ ! -name "." -type d -prune -o -newermt 2001-01-01 00:00:00 ! -newermt…

linux view查看日志命令,【Linux】linux查看日志文件内容命令tail、cat、tac、head、echo...

linux查看日志文件内容命令tail、cat、tac、head、echotail -f test.log你会看到屏幕不断有内容被打印出来. 这时候中断第一个进程Ctrl-C,---------------------------linux 如何显示一个文件的某几行(中间几行)从第3000行开始,显示1000行。即显示3000~3999行cat fi…

qq linux版本下载官网下载,腾讯QQ For Linux

安装帮助如何选择安装包?Linux QQ 目前支持x64(x86_64、amd64)、arm64(aarch64)、mips64(mips64el)三种架构,每种架构支持Debian系、红帽系、Arch Linux系、其它发行版中的一种或几种(未来可能继续扩充)。每一次发布均会提供架构和发行版的若干种组合支持…

linux ip隧道技术,linux之IP隧道配置

本文系统Centos6.0在这里我就不讲什么隧道、IP隧道技术了;lvs的三种模式也不说了我这里隧道说白了就是不同机房,不同公网IP,怎么让他们实现局域网的效果,配置同一网段的私网IP;可以实现互联互通;写这篇文章…

windows控制linux桌面图标,完全控制你的Windows桌面 (转)

完全控制你的Windows桌面 (转)[more]完全控制你的桌面对于Windows的桌面界面相信大家已经十分熟悉了,占据屏幕大半部分的是桌面,在上面排列的是桌面图标。任务栏一般位于桌面的下面,也可以在桌面其它边缘。在最左边是“开始按钮”&#xff0c…

windows查看linux文件中文,Linux 系统下无法查看Windows 中创建的中文文件名

标 题: Linux 系统下无法查看Windows 中创建的中文文件名我是Linux初学者,在网上搜索了很久,经过多次尝试仍然无法解决问题,只好在这里发贴请教了,还望各位高手指点一下。问题描述:Linux 系统下无法查看Windows 中创建…

arm-none-linux-gnueabi-gcc:未找到命令,“make: arm-none-linux-gnueabi-gcc:命令未找到”

Ubuntu12.04下编译飞凌嵌入式OK6410开发板提供的内核android2.3_kernel_v1.01-2012-09-23.tar已经执行export PATH/usr/local/arm/arm-none-linux-gnueabi/bin:$PATH,但还是出现如下问题make: arm-none-linux-gnueabi-gcc:命令未找到CHK include/lin…

linux 内核入口地址,linux内核的加载地址和入口地址

编译完内核之后,会产生zImage,而把它直接导入0x30008000,会出现Bad Magic Number.查明是需要将内核加一个0x40大小的头,由mkimage工具来添加.mkimage在编译u-boot时在u-boot-1.1.6/tools下生成,可以为编译的内核添加头信息的.在bootm命令中会解析这个头,…

linux脚本监控某一进程,linux监控某个进程的运行shell脚本

该脚本实现了对指定进程名的进程进行每隔2的扫描监控,一旦发现进程不存在便重新启动。#!/bin/sha10;while [[ a -gt 5 ]]; doif test $(pgrep -f $1|wc -l) -eq 2;thensh stop.shgnome-terminal -x sh start.sh &fi;sleep 2;done;总结:(1)&表示当…

kali linux conky配置文件,7个美丽的Conky配置为您的Linux桌面 | MOS86

现在,大多数Linux用户非常熟悉Conky包括多少人都没有今天我们Note:其中一些不仅仅是一个习惯。conkyrc文件。许多都配有专门的字体或附加软件,有些则作为更大的桌面主题的一部分打包。此处列出的所有配置都提供了到原始下载位置以及每个包的链接此外&…

sd卡linux错误检测,android系统正在准备SD卡正在检测是否有错误且SD卡无法读取解决办法...

手机android系统,也许您会碰到这样的情况。错误提示:正在准备SD卡 正在检测是否有错误。这时sd卡(即内存卡)不能正常使用,不管手机自带的程序,还是通过usb口连接到电脑都无法识别sd卡。这可能是由于没有正常卸载sd卡导致的原因。比…

linux+系统优化基础,Linux入门基础(三):Linux用户及权限基础

用户基础用户和组每个用户都拥有一个userid每个用户都属于一个主组,属于一个或多个附属组每个组拥有一个groupid每个进程以一个用户身份运行,受该用户可访问资源限制每个可登陆用户拥有一个指定的shell用户userid为32位,从0开始,为了和老式系统兼容,用户id限制在60000以下用户分…

linux dhcp 负载均衡,dhcp双机负载均衡

dhcp双机负载均衡1:环境介绍:我是用两个linux机器(dhcpd server 一个是master ,一个是slave)和一个windows xp机器来做的(测试用的client!) ,master:ip:172.17.61.124netmask:255.255.255.0gw:1…

c语言 字节转换成位,C语言中的字节序和指针转换

我在计算机上用以下代码部分编写了一个C程序:uint32_t test 0x01020304;uint8_t array[4];memcpy(array, &test, 4);printf("%02x %02x %02x %02x",array[0], array[1], array[2], array[3]);它打印04030201,但我希望是01020304。我是否必…

C语言顺序结构程序设计PPT,C语言习题集与实验指导 教学课件 伍鹏、杜红、王圆妹、邓绍金 第3章 顺序结构程序设计.pdf...

[摘要]第3章 顺序结构程序设计 第3章 顺序结构程序设计 当你对C语言程序设计有了一定了解和掌握后, 在处理一些简单的任务时,若想根据程序书写的过程 顺序执行程序,这时应该如何处理呢? •顺序结构 •顺序结构 程序的三种结构 程序…

c语言调用exe并传递参数,如何使用execlp将命令行参数传递给C程序

This page包括大量的使用示例....编辑:从链接 从链路的代码段添加的代码片段上方static void show_info_page(const char *git_cmd){const char *page cmd_to_page(git_cmd);setenv("INFOPATH", system_path(GIT_INFO_PATH), 1);execlp("info"…

c语言include math.h,在C语言中,若需调用数学类库函数第数据进行处理,则需包含头文件______. 答案:math.h;#includemath.h;math.h;“math....

相关问题设随机变量X的密度函数为,则c .e339fd828a3e5af974ac21fd9ebc7f0b.gif有函数f(x,y,z),其中x∈[1900,2100],y∈[1,12],z∈[1,31]的。请写出该函数采用边界值分析法设计的测试用例函数重写与函数重载的相同之处是&#xff1…