编写Oracle包中的函数应当注意的两点问题
自己刚开始用PL/SQL来写一点东西,现在还肤浅的很,说这些不是想谦虚,而是想如果有高手看到自己有什么地方写错的,希望给我一点指点。
今天下午找了一下午自己的那个PL/SQL包的错误,最后还是解决了。。。两个小的不能再小的问题,和大家分享一下。
1、在PL/SQL中如果是函数,就可以SQL语句中使用,也可以在其他的PL/SQL程序段中使用。但是在程序段中使用的话就一定要注意了,必须要接收函数的返回值。要不然PL/SQL会认为这个函数是一个过程,而返回参数类型不正确的错误。
如:function add_two_num(num1 in number,num2 in number)return number这样的函数,调用的时候即使你不使用这个返回值也要用num3:=add_two_num(num1,num2);的形式,不能使用add_two_num(num1,num2)的形式。呵呵,有时我们会用到out类型的变量,可能会出现这种情况。
2、在包头中定义函数和包体中实现函数时变量的名称一定要一样,否则会提示包头中的某个函数没有定义,如:在包头中定义function add_two_num(num1 in number,num2 in number)return number;在包体中实现时你只实现了function add_two_number(num3 in number,num2 in number);时就会出现错误,这个也不难想到,想一下在PL/SQL中有几种调用函数的方法你就会对这个设置的意义很明了了。。。
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
介绍完Oracle全文索引的FILTER属性,继续介绍Oracle的LEXER属性。
Oracle全文索引的LEXER属性用于处理各种不同的语言。最基本的英文使用BASE_FILTER,而如果需要使用中文则可以使用CHINESE_VGRAM_LEXER或CHINESE_LEXER。
这篇文章简单说明BASIC_LEXER属性。BASIC_LEXER属性支持多种语言,比如英语、德语、荷兰语、挪 ......
全文索引停用词的设置在前面的文章中已经介绍过了,这里简单说明记录一下停用词在查询时候需要注意的地方。
Oracle10g中,如果安装语言为中文,默认的LEXER为CHINESE_VGRAM_LEXER,默认的停用词语言也为中文。这篇通过对比中文环境和英文环境来说明停用词查询的一些特点。
SQL> show user
USER is "MYUSER" ......
目录
1. 安装准备
1.1. 设置用户
1.2. 创建目录和设置权限
1.3. 更改配置
1.4. 安装
1.5. 启动/停止Oracle
1. 安装准备
安装开始前,确认你的系统符合Oracle的最小安装要求:
* 500 MB 内存
......