oracle常见错误总结
1.Oracle对大小写是敏感的。
2.trim(' aa bb cc. ')对于这种字符串的去除的结果是把首尾的空格去掉,而不会去掉中间的空格。
3.在位列起别名的时候不能把列用单引号''引起来。select empno 员工编号,ename 姓名 … from emp;
4.在创建function或者是procedure的时候注意参数不可以使用_xxx这种格式,这种格式是会出错的。
5.在创建包或者是包体的时候注意格式不可以使用如下的格式:
begin是不可以有的,要把begin去掉。
create or replace package handle_student
is www.2cto.com
begoracle账号in
functions …
procedures…
end;
6.在编写包和包体的时候需要注意包体里面的所有的函数,存储过程的名字以及参数的名字和参数要和包里面定义的完全一致,否则会出错的。
7.在编写函数或者存储过程的时候参数的类型不可以设置限制比如
create or replace function query_data(id number(3),name varchar2(20),address varchar2(20));
这种定义是错误的。
8.在测试函数的时候如果使用的是自己定义的参数的类型那么就需要把参数的范围定义出来,格式如下:
declare
s_name varchar2(20);–这里指出了参数的范围如果使用的是 emp.dname%type就不需要指定了,因为这种定义本身已经包含了范围
www.2cto.com
了
s_age number(3);
s_address varchar2(30);
r number;
begin
s_name:=&s_name;
s_age:=&s_age;
s_address:=&s_address;
r :=handle_student.add_emp(name => s_name,age => s_age,address => s_address);
if r =1 then
dbms_output.put_line('插入成功!');
else
dbms_output.put_line('插入失败!');
end if;
end;
摘自 tengdazhang770960436的专栏