oracle重新编译package,这个package为什么编译不了?该怎么解决

2023-10-29

SQL codecreate or replace package pack_sunyard_test is

type refcur is ref cursor;

/******************************************************************************

--函数名称: func_sunyard_test

--作者: sunyard_zhengxl

--时间: 2007年04月01日

--使用源表名称: sunyard.tset_a(测试表A)

sunyard.tset_b(测试表B)

--目标表明称:

--参数说明:

-- i_id (ID值)

-- o_name (返回NAME值)

--功能: oracle plsql开发示例-函数

--解释:

******************************************************************************/

function func_sunyard_test(

i_id in number --ID值

)

return varchar2;

/******************************************************************************

--存储过程名称: proc_sunyard_test1

--作者: sunyard_zhengxl

--时间: 2007年04月01日

--使用源表名称: sunyard.tset_a(测试表A)

sunyard.tset_b(测试表B)

--目标表明称:

--参数说明:

-- i_id (ID值)

-- o_name (返回NAME值)

--功能: oracle plsql开发示例-数据类型、控制结构、调用函数

--解释:

******************************************************************************/

procedure proc_sunyard_test1(

i_id in number, --ID值

o_name out varchar2 --姓名

);

/******************************************************************************

--存储过程名称: proc_sunyard_test2

--作者: sunyard_zhengxl

--时间: 2007年04月01日

--使用源表名称: sunyard.tset_a(测试表A)

sunyard.tset_b(测试表B)

--目标表明称:

--参数说明:

-- i_id (ID值)

-- o_name (返回NAME值)

--功能: oracle plsql开发示例-调用过程、游标、游标变量、动态sql

--解释:

******************************************************************************/

procedure proc_sunyard_test2(

i_id in number, --ID值

o_name out varchar2, --姓名

o_cur out refcur --游标变量

);

end pack_sunyard_test;

/

create or replace package body pack_sunyard_test is

/******************************************************************************

--函数名称: func_sunyard_test

--作者: sunyard_zhengxl

--时间: 2007年04月01日

--使用源表名称: sunyard.tset_a(测试表A)

sunyard.tset_b(测试表B)

--目标表明称:

--参数说明:

-- i_id (ID值)

-- o_name (返回NAME值)

--功能: oracle plsql开发示例-函数

--解释:

******************************************************************************/

function func_sunyard_test(

i_id in number --ID值

)

return varchar2

is

v_name varchar2(10); --姓名

begin

--根据输入的ID查询相应的NAME值

select a.name

into v_name

from test_a a

where a.id = i_id;

return v_name;

exception

when others then

raise;--抛出异常到调用模块

end func_sunyard_test;

procedure proc_sunyard_test1(

i_id in number, --ID值

o_name out varchar2 --姓名

)

is

v_code1 number;

v_code2 number(17,2);

v_name varchar2(100);

begin

--number显式或隐式转换成varchar2时会将前面的0转换掉

v_name := '001';

v_code1 := v_name;

--控制结构

if v_name = '001' then

v_code1 := 0;

elsif v_name = '002' then

v_code1 := 1;

else

v_code1 := -1;

end if;

case v_name

when '001' then v_code1 := 0;

when '002' then v_code1 := 1;

else v_code1 := -1;

end case;

loop

v_code1 := v_code1 + 1;

exit when v_code1 > 4;

end loop;

while v_code1 < 10 loop

v_code1 := v_code1 + 1;

end loop;

for v_code2 in 1..10 loop

v_code1 := v_code1 + v_code2;

end loop;

--调用函数

o_name := func_sunyard_test(i_id);

exception

when others then

o_name := sqlcode||'-'||sqlerrm;

return;

end proc_sunyard_test1;

procedure proc_sunyard_test2(

i_id in number, --ID值

o_name out varchar2, --姓名

o_cur out refcur --游标变量

)

is

v_id number;

v_name varchar2(100);

v_sql varchar2(2000);

cursor cur_select is

select a.id,a.name

from test_a a

where a.id >= 3;

cursor cursor_select(id number) is

select a.id,a.name

from test_a a

where a.id >= id;

begin

--调用过程

sunyard.pack_sunyard_test.proc_sunyard_test1(i_id,v_name);

--隐式游标

select a.name

into v_name

from test_a a

where a.id = i_id;

--小范围异常控制

begin

select a.name

into v_name

from test_a a

where a.id = i_id + 1;

exception

when others then

v_name := '未匹配';

return;

end;

--小技巧

select nvl(max(a.name),'未匹配')

into v_name

from test_a a

where a.id = i_id + 2;

o_name := v_name;

--显式游标

open cur_select;

loop

fetch cur_select into v_id,v_name;

exit when cur_select%notfound;--此行若放到输出语句之后,则会出现重复行

o_name := to_char(v_id)||'-'||v_name;

dbms_output.put_line(o_name);

end loop;

close cur_select;

--游标for循环

for c_cur in cursor_select(3) loop

v_id := c_cur.id;

v_name := c_cur.name;

o_name := to_char(v_id)||'-'||v_name;

dbms_output.put_line(o_name);

end loop;

--游标变量

v_name := '10000001';

v_sql := ' select a.code,a.name '

||' from test_a a,test_b b '

||' where a.id = b.id '

||' and a.id < '||i_id

||' and a.code != '''||v_name||'''';

open o_cur for v_sql;

--动态sql

v_sql := ' select a.id,a.name '

||' from test_a a '

||' where a.id = '||i_id;

execute immediate v_sql into v_id,v_name;

v_sql := ' select a.id,a.name '

||' from test_a a '

||' where a.id = :i_id';

execute immediate v_sql into v_id,v_name using i_id;

--DDL语句

delete from test_a a where a.id = 10;

update test_a a set a.name = '' where a.id = 11;

insert into test_a(id,code,name,age,address) values(10,'10000010','十',10,'石');

commit;

exception

when others then

o_name := sqlcode||'-'||sqlerrm;

return;

end proc_sunyard_test2;

end pack_sunyard_test;

/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle重新编译package,这个package为什么编译不了?该怎么解决 的相关文章

  • FPGA实现图像二值形态学滤波——腐蚀膨胀

    一 二值图像 二值图像 Binary Image 是指图像上的每一个像素只有两种可能的取值或灰度等级状态 简言之 在图像中灰度等级只有两种0或255 黑或白 二 形态学 形态学 即数学形态学 Mathematical Morphology
  • 解决 required a single bean, but 2 were found的spring注入bean错误

    背景介绍 个人定义了一个interface 为了抽象与规范使用泛型进行约束 名字举例为 ITestService java public interface ITestService
  • 希沃展台如何使用_气化街小学开展希沃触摸一体机使用方法培训

    为进一步推进气化街小学信息化教学 帮助教师熟悉希沃教学触摸一体机设备的使用功能 掌握希沃教学触摸式一体机的基本操作技巧 充分发挥触摸一体机的教学辅助作用 5月29日上午10点 万柏林区气化街小学组织一 二 三年级全体任课老师 在王学光老师的
  • 老生常谈session,cookie的区别,安全性

    老生常谈session cookie的区别 安全性 张映 发表于 2010 07 25 分类目录 php 一 为什么session cookie经常会有人提到 做web开发的人基本上都会用session和cookie 但是仅仅只是会用 并不
  • 《五分钟科普ChatGPT》系列专栏---介绍 ChatGPT未来的发展方向

    VI ChatGPT未来的发展方向 聊天机器人技术的未来发展方向包括以下几个方面 6 1 强化学习和自主学习能力 强化学习是一种让机器代理通过与环境的交互学习并改进自身策略的方法 ChatGPT未来可能会融合强化学习技术 使其能够从与用户的
  • 开放定址法(线性探测),拉链法 -Hash算法

    总结 哈希别名为 Hash 或者 散列表 开放定址法是为了解决hash值碰撞后的处理 哈希表查找 杂凑法 http c biancheng net cpp html 1031 html 查找 http blog csdn net yang
  • 如何在Android Studio中添加RecyclerView-v7支持包

    一直知道RecyclerView可以代替ListView GridView使用 听说功能很强大 但还没有去学习过 今天想学习 没想到还没开始便撞墙了 输入Recycler 只有这两个东西 没有提示RecyclerView 说明支持包中没有
  • git命令合并分支代码

    合并步骤 例 dev分支合并到master分支 1 git checkout master 进入要合并的分支 2 git pull 拉取最新代码 3 git branch a 查看所有分支是否都pull下来了 4 git merge dev
  • Linux性能监控工具sysstat的cron文件

    简单来讲sysstat就是检测系统性能的工具 安装 yum install sysstat 查看生成的相关文件 rpm ql sysstat etc cron d sysstat etc sysconfig sysstat etc sysc
  • 如何使用Linux Top命令

    Linux中的top命令允许您监视当前正在运行的进程及其使用的系统资源 作为系统管理员 它可能是工具箱中最有用的工具 特别是如果您知道如何使用它的话 所有Linux发行版都预装了top实用程序 通过这个交互式命令 您可以自定义如何浏览进程列
  • node 版本管理工具 nvm,node版本升级、降级

    不同项目需要的 nodejs 版本不一致 需要在电脑上安装多个 node 版本 此时知道有一个 nvm 版本管理工具就非常必要了 NVM 下载安装 nvm 安装地址 https github com coreybutler nvm wind
  • 【数据结构】双向链表

    前面我们已经学完了单向链表 知道了单向链表如何进行增删查改等基本功能 而今天 我们将要学习双向链表 目录 1 链表的分类 2 双向链表定义 3 双向链表接口的实现 所有接口函数一览 创建返回链表头节点 初始化链表 双向链表打印 双向链表尾插
  • 在钉钉上怎么手写_钉钉直播上课可以写字吗_钉钉直播写字板功能介绍_玩游戏网...

    钉钉直播上课已经有很多学校在使用了 这个时候就有人问了 能不能在钉钉上用手写字 在学习资料上做笔记 目前发下来钉钉的很多功能 不过关于写字这个功能暂且还没有 那么想要用写字的方式教学要怎么做呢 这就让我们一起来看一看吧 当然了小编也给大家准
  • 第六章 课后习题(P171-P172)

    习题 一 填空题 1 运算符的重载实际上是 函数 的重载 2 运算符函数必须被重载为 非静态成员函数 或被重载为 友元函数 3 成员函数重载运算符需要的参数的个数总比它的操作数 少 一个 4 重载赋值运算符时 通常返回调用该运算符的 对象的
  • VScode SSH远程登陆到服务器阅读代码

    1 背景介绍 在工作中经常使用ssh远程访问服务阅读代码 但是通过ssh远程访问后没有图形界面 阅读代码非常不方便 本文向大家介绍使用VScode通过ssh远程登陆到服务器 本地可视化阅读查看服务器的代码文件 2 安装VS Code Vis
  • springboot打包成maven仓库中的sdk

    springboot打包成maven仓库中的sdk 首先将pom文件中的关于该项目继承springboot父项目的依赖去除 再去除一些不相干的依赖 插件也去除 在新项目中导入这个jar sdk 需要新建一个配置类 使用注解扫描这个jar中的
  • 记 ==> 首次使用rabbitMQ优化项目

    昨天刚学习完了rabbitMQ 刚好我的项目有个模块挺符合使用rabbitMQ进行异步处理的 这个模块大概功能是 用户发送的所有帖子都会添加到他的发件箱 当有个新用户关注了他 他发件箱内所有的博客都会被添加到关注他的用户的收件箱里 比如 A
  • CUDA基础介绍

    一 GPU简介 1985年8月20日ATi公司成立 同年10月ATi使用ASIC技术开发出了第一款图形芯片和图形卡 1992年4月ATi发布了Mach32图形卡集成了图形加速功能 1998年4月ATi被IDC评选为图形芯片工业的市场领导者
  • vs2010使用VLD,

    在VS2010项目总使用VLD visual leak detector 进行内存泄露检测 调试时程序无法启动报错 应用程序正常启动失败 0xc0150002 产生原因 VC2003 VC2005 VC2008及其后续版本 对底层最基本的C

随机推荐

  • C语言学习笔记(四)

    1 在编译使用了strcpy scanf等不安全的函数 而报警告和错误 而导致无法编译通过 此时我们有两种解决方案 a 在指定的源文件的开头定义 define CRT SECURE NO WARNINGS 只会在该文件里起作用 b 在项目属
  • 成功解决 git设置http代理 https代理 取消代理

    welcome to my blog 问题 使用hexo搭建博客 执行hexo init时包含git clone的操作 但是使用的是https协议 不是ssh 所以为git设置https代理 但是只设置https代理并不能加速 与此同时 只
  • python socket接收与发送数据编码

    1 服务器端接收数据 1 向服务器端发送16进制数据 3A 0B 12 2 服务器端接收数据为 未转化打印出来为 b x0b x12 格式为字节流 打打印时3A对应ASCII表中的冒号 总结为当没有进行转换时 编译器会根据接收到的十六进制的
  • CA 厂商排名

    1 NDS 2 Irdeto 3 Nagravision 4 Verimatrix 5 Widevine 6 Latens 7 Viaccess 8 Secure Media
  • 关于跑demo遇到的flask mysql navicat 导入包的解决方式

    Q1 导入demo时的第一步 打开pycharm 左上角 之后 点击settings 进入settings后 点击Project下的python interpreter 此时 右侧的python interpreter显示的是no inte
  • ctfshow web14

    题目描述 无 解题思路 这道题比较简单 分值也只有5分 就是一个简单的sql注入 但是这个sql注入的回显你得看它的源代码里才有 但是它把你右击查看源码那个玩意儿给禁了 你需要在你的url前面加view source 才能看到源码 解题过程
  • 数据库结构对比工具 支持 SqlServer ,Oracle,MySql 相互对比同步转换 源代码生成,Word表格生成Model ,文本格式化,差异对比

    数据库结构对比工具 支持 SqlServer Oracle MySql 相互对比同步 QQ群 434053880 有最新版本下载 1 CSDN 下载链接 不过要积分下载 SqlServer Oracle MySql数据库结构相互对比同步 m
  • 注意力机制学习(二)——空间注意力与pytorch案例

    文章目录 一 空间注意力机制简介 二 空间注意力与pytorch代码 三 使用案例 一 空间注意力机制简介 空间注意力的示意图如下 长条的是通道注意力机制 而平面则是空间注意力机制 可以发现 通道注意力在意的是每个特怔面的权重 空间注意力在
  • Spring框架Security(认证)快速上手

    在处理Spring安全框架时 通常可以选择Shiro或者Security 做认证授权加密等 推荐非SpringBoot 使用Shiro SpringBoot项目使用Security 学习网址 Security Shiro 目录 1 Spri
  • BUUCTF WEB [极客大挑战 2019]Secret File

    BUUCTF WEB 极客大挑战 2019 Secret File 启动后效果如下 F12查看源代码
  • unity中的碰撞和触发事件

    首先 unity中两个游戏对象发生碰撞的条件 1 两个游戏对象必须都有Collider碰撞器这个组件 2 至少有一个游戏对象包含刚体组件 3 两个游戏对象有相对运动 还应该知道跟碰撞事件相关的3个函数 void OnColliderEnte
  • 【Python】近似熵,样本熵,模糊熵计算高效版

    文章目录 前言 整体思路 1 近似熵 Approximate Entropy ApEn 1 1 理论基础 1 2 python第三方库实现 1 3 基于多线程numpy矩阵运算实现 2 样本熵 Sample Entropy SampEn 2
  • 在React中使用Typescript

    使用命令创建项目 生成一个全新的 ts react 的模版 可直接使用指令 npm create react app my app template typescript 该模板包含了全套正常运行React所需要的的包和配置 无需再额外手动
  • 若依RuoYi-Vue代码学习一---通用分页处理

    文章目录 一 先运行看看接口到sql 二 来看看若依怎么处理的分页 三 最后回到接口 及其参数返回 一 先运行看看接口到sql 随便找个表格看看 可以看到传入了 分页关键属性 看看debug的日志打印的sql debug 137 gt Pr
  • 小程序酷炫3D登录页源码(泥陶态)

    小程序酷炫3D登录页源码 泥陶态 1 页面效果 登陆页面一般都要酷炫好看一点 这里分享一个泥陶态3D登录页面 泥陶态是结合 3D 设计流行风格而兴起的新形态 设计趋势由拟物风格发展为扁平风格时 去掉了一切表示深度和层叠的效果 虽然视觉上简化
  • android中Manifest.xml中的intent-filter作用

    注意 隐式启动Activity的intent到底发给哪个activity 需要进行三个匹配 一个是action 一个是category 一个是data 可以是全部或部分匹配 同样适用于Service和BroadcastReceiver 下面
  • lgvl菜单项优化

    项目场景 嵌入式CPU ASR3603S MCU 24MB ROM 16MB RAM 问题描述 功能菜单 设置菜单 菜单列表上下滑动有些慢 LVGL菜单滑动过程中卡顿感 原因分析 代码执行耗时 图片加载耗时 缓冲区太小多次刷新耗时 解决方案
  • 关于微信小程序获取头像和昵称

    不知道为什么微信一直对开发者获取 微信头像 微信昵称 一直抱以限制态度 关于接口调用方法 也是一直在修改 open type getUserInfo 在2021年4月13日停用 wx getUserInfo 在2021年4月28日停用 wx
  • 矢量网络分析仪(矢网)组成和原理简介

    一 概述 矢量网络分析仪是一种常见的射频测量仪器 主要用来测量高频器件 电路及系统的性能参数 如线性参数 非线性参数 变频参数等 1 1 分类 矢量网络分析仪一般以频率来划分 截止频率越高 价格也越贵 根据测试端口的数量可分为 双端口 3
  • oracle重新编译package,这个package为什么编译不了?该怎么解决

    SQL codecreate or replace package pack sunyard test is type refcur is ref cursor 函数名称 func sunyard test 作者 sunyard zheng