今天一个朋友问我下面这段sql语句的问题,我发现了他竟然把程序员的编程思想带入了oracle,虽然是错误的,但也是很经典的错误啊。

create or replace package p_view_param  is
function set_param(num VARCHAR2) return VARCHAR2;
function get_param return VARCHAR2;
end p_view_param; CREATE or replace package body p_view_param is
paramValue VARCHAR2;
-- Param
function set_param(num VARCHAR2) return VARCHAR2 is
begin
paramValue:=num;
--dbms_output.put_line('num'||num);
return num;
end; function get_param return VARCHAR2 is
begin
dbms_output.put_line('paramValue'||paramValue);
return paramValue;
end;
END p_view_param; BEGIN
SELECT p_view_param.set_param('sss')AS temp FROM dual;
END;

执行时发现错误:

这段sql主要两个问题:

1.参数变量名尽量不要num这些特殊意义的单词;

2.包里面的方法是独立的个体,包只是根据相关功能把函数和存储过程封装在一起罢了,而函数之间是独立的,不存在共享变量之类的。如果确实需要就设计为参数传递即可。

3.创建包和创建包体之间分开,不要一起创建。否则创建包的时候会把包体带进去。

修正后的sql如下:

create or replace package p_view_param  is
function set_param(paramVal VARCHAR2) return VARCHAR2;
function get_param(paramVal VARCHAR2) return VARCHAR2; end p_view_param; create or replace package body p_view_param is -- Param
function set_param(paramVal VARCHAR2) return VARCHAR2 is
paramValue VARCHAR2(200);
begin
paramValue:=paramVal;
return paramValue;
end; function get_param(paramVal VARCHAR2) return VARCHAR2 is
begin
--dbms_output.put_line('paramValue'||paramValue);
return paramVal;
end; END p_view_param;
SELECT p_view_param.set_param('sss') as temp FROM dual;
SELECT p_view_param.get_param(p_view_param.set_param('sss')) as temp FROM dual;

ORA-06575:程序包或函数处于无效状态的更多相关文章

  1. ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态

    SQL> drop user aaa ;   drop user aaa   ORA-00604: 递归 SQL 级别 1 出现错误 ORA-06575: 程序包或函数 NO_VM_DROP_P ...

  2. R--基本统计分析方法(包及函数)

    摘要:目前经典的统计学分析方法主要有回归分析,Logistic回归,决策树,支持向量机,聚类分析,关联分析,主成分分析,对应分析,因子分析等,那么对于这些经典的分析方法在R中的使用主要有那些程序包及函 ...

  3. Oracle编程入门经典 第11章 过程、函数和程序包

    目录 11.1          优势和利益... 1 11.2          过程... 1 11.2.1       语法... 2 11.2.2       建立或者替换... 2 11.2 ...

  4. Oracle学习笔记十二 子程序(存储过程、自定函数)和程序包

    子程序 子程序:命名的 PL/SQL 块,编译并存储在数据库中.   子程序的各个部分: 1.声明部分 2.可执行部分 3.异常处理部分(可选) 子程序的分类: 1.过程 - 执行某些操作 2.函数 ...

  5. ORA-04044: 此处不允许过程, 函数, 程序包或类型和

    用Orale代码建表时,出现 SQL> comment on column SCORE.cno 2 is '学号(外键)';comment on column SCORE.cno is '学号( ...

  6. 添加Chrome插件时出现“程序包无效”等问题的解决办法

    相较之各大浏览器,我最喜欢的便是Chrome了,不只因为Chrome搜索,也因为Google Chrome强大的插件功能. 而这一切的东风,就是"谷歌访问助手". 谷歌访问助手的下 ...

  7. 解决chrome插件安装时出现的“程序包无效”问题信息:程序包无效。

    https://blog.csdn.net/bluexuemei/article/details/35213117 2014-06-27 09:00:51 bluexuemei 阅读数 14374更多 ...

  8. Chrome安装crx文件的插件时出现“程序包无效”

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python   https://www.cnblogs.com/xxtalhr/p/11043453.html 链接:https: ...

  9. 谷歌浏览器添加插件时显示程序包无效:"CRX_HEADER_INVALID" 解决办法

    今天在添加谷歌插件的时候,却发现谷歌浏览器显示 程序包无效:"CRX_HEADER_INVALID",现整理解决方法如下: 下图是下载好的 .crx 结尾的插件. 将插件的后缀名改 ...

随机推荐

  1. iBatis一些非见用法(相当实用)

     兼顾效率,iBatis一些非见用法(10条) 2009-09-18 10:33:03 标签:iBatis 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声 ...

  2. SQL Server事务遭遇网络异常时的处理机制浅析

    SQL Server数据库中,如果应用程序正在执行一个事务的时候突然遭遇了网络异常,例如网络掉包,网络中断等,那么这个事务会怎么样? SQL Server数据库是通过什么机制来判断处理呢? 估计很多人 ...

  3. [COGS 1065] 绿豆蛙的归宿

    先贴题面w 1065. [Nescafe19] 绿豆蛙的归宿 ★   输入文件:ldfrog.in   输出文件:ldfrog.out   简单对比时间限制:1 s   内存限制:128 MB 随着新 ...

  4. nodeJS实现路由功能

    前面的话 本文将使用NodeJS实现较复杂应用的路由功能 结构 项目结构如下 代码如下 功能 [router.js] // 加载所需模块 var http = require('http'); var ...

  5. KNN算法--python实现

    邻近算法 或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代 ...

  6. CentOS服务器运维监控Nagios(一)

    CentOS下搭建Nagios 王尚 2014.11.09 操作系统:CentOS-6.5-i386-bin-DVD1.iso 安装在VM中进行测试的. 本章需要的软件链接: php-5.3.2.ta ...

  7. 21. leetcode 492

    492: 给定一个面积值,求它的长l和宽w.长和宽需满足:长大于等于宽,长和宽的差值尽可能小,长乘宽等于面积. 思路:先将l和w初始化为sqrt(area),然后看l*w是否等于面积,如果等于则返回l ...

  8. c++ STL 容器——序列

    STL中11个容器类型分别是deque,list,queue,priority_queue,stack,vector,map,multimap,set,multiset,bieset(在比特级处理数据 ...

  9. 安徽省2016“京胜杯”程序设计大赛_D_梯田AGAIN

    梯田AGAIN Time Limit: 5000 MS Memory Limit: 65536 KB Total Submissions: 95 Accepted: 21 Description 大家 ...

  10. BPM与OA的区别及联系

    BPM与OA的区别及联系 近年来,在企业管理信息系统一些名词反复被提及,然而外行人对于这些名词则是一头雾水,网上的解释又鱼龙混杂,没有绝对权威的文献可供参考,因此也就让我们对这些名词的认识越来越模糊. ...