Oracle新手注意点
2016-04-13 16:48
549 查看
管理方面:
1. SYS用户创建的表是无法为其创建触发器的。(会报错:ORA-04089)
2. 一个表最多只能有1000列.(oracle 在内部会把列数大于254列的行存储在多个单独的区段中)
3. ORA-02778: Name given for the log directory is invalid
建立的DIRECTORY对应操作系统相应的目录文件夹,千万注意不要直接在操作系统删除这些文件夹,不然会出现上面的错误,数据库也会起不来.
4.ALTER TABLE为DDL操作,会自动提交,要注意。
5.子分区DROP后不会出现在回收站里。
开发方面:
1. EXECUTE IMMEDIATE v_sql执行语句时,一定要注意变量v_sql里最后不要带分号(;).
2.创建包时候,包头中声明的函数\存储过程要和包体中定义的一致
如:
某包头这样声明: function getArea(id in number) return number;
包体定义: function getArea(r in number) return number;--会报错,因为参数名不一样
3.存储过程中的变量VARCHAR2(包括存储过程参数)可以达到327060的长度,CLOB变量可以更长,但需要使用DBMS_LOB来处理,且注意要用
dbms_lob.createtemporary(CLOB变量, true);来创建临时空间保存CLOB变量。
4.注意CHAR类型的特殊性,固定长度
相关建议:
1. 未知的异常处理建议放到客户端去控制,PLSQL里面不要有COMMIT和ROLLBACK等事务控制语句
2. 字段不要使用CHAR类型,它是固定长度且受字符集影响
1. SYS用户创建的表是无法为其创建触发器的。(会报错:ORA-04089)
2. 一个表最多只能有1000列.(oracle 在内部会把列数大于254列的行存储在多个单独的区段中)
3. ORA-02778: Name given for the log directory is invalid
建立的DIRECTORY对应操作系统相应的目录文件夹,千万注意不要直接在操作系统删除这些文件夹,不然会出现上面的错误,数据库也会起不来.
4.ALTER TABLE为DDL操作,会自动提交,要注意。
5.子分区DROP后不会出现在回收站里。
开发方面:
1. EXECUTE IMMEDIATE v_sql执行语句时,一定要注意变量v_sql里最后不要带分号(;).
declare v_sql varchar2(1000); v_ename varchar2(20); begin v_sql:='select empno from emp where rownum=1';--不能是v_sql:='select empno from emp where rownum=1;'; execute immediate v_sql into v_ename; DBMS_OUTPUT.PUT_LINE(V_SQL); end; /
2.创建包时候,包头中声明的函数\存储过程要和包体中定义的一致
如:
某包头这样声明: function getArea(id in number) return number;
包体定义: function getArea(r in number) return number;--会报错,因为参数名不一样
3.存储过程中的变量VARCHAR2(包括存储过程参数)可以达到327060的长度,CLOB变量可以更长,但需要使用DBMS_LOB来处理,且注意要用
dbms_lob.createtemporary(CLOB变量, true);来创建临时空间保存CLOB变量。
4.注意CHAR类型的特殊性,固定长度
相关建议:
1. 未知的异常处理建议放到客户端去控制,PLSQL里面不要有COMMIT和ROLLBACK等事务控制语句
2. 字段不要使用CHAR类型,它是固定长度且受字符集影响
相关文章推荐
- 吐血贡献——centos6.5 64位静默安装oracle 10G R2
- Oracle正则表达式替换字符串
- oracle10g的em工具优化sql功能
- Oracle定义DES加密解密及MD5加密函数示例
- Oracle Study之-Oracle 11g OCM考试(2)
- oracle学习笔记 oracle软件安装和数据库的创建
- ORACLE 返向索引 Reverse Key Indexes
- oracle给用户B授权用户A部分表或视图的实现
- Oracle Study之-Oracle 11g OCM考试(2)
- oracle中prior关键字的作用
- Oracle ID自增长的设置
- Oracle 游标使用全解
- Oracle system用户忘记密码的解决方法
- ORACLE数据库定时任务—DBMS_JOB
- oracle的SQL Trace(SQL跟踪)
- oracle随记——spfile和pfile的区别,生成,加载和修复
- ubuntu14 安装Oracle java JDK
- Oracle主机身份证明中的用户名和口令错误的解决方法
- oracle--merge
- Oracle数据库动态SQL生成游标