网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.核心设定档.
.Linux环境下oracle9i的Dataguard.
.详细讲解获得当前"SCN"的几种有效.
.postfix技巧.
.Windows XP下安装Oracle9i问题二.
.zSeriesLinux可以运行在哪个版本.
.我的oracle笔记三(系统函数和系.
.Actualtests Oracle 1Z0-007 V04.
.Oracle Database 10g:最佳新特性.
.UNIX和WINDOWS2000上的ORACLE的差.
.使用Expect和命名管状远程控制SQ.
.ORACLE OLAP函数语法的总结.
.Oracle的客户端工具--sql*plus.
.Oracle 10g,跨Resetlogs时间点恢.
.我的权限控制(JBX + struts + hi.
.Oracle数据库高性能秘密之数据高.
.利用Oracle的Job Queue实现定时操.
.向数据库中增加一些魔术.
.ORACLE SQL性能优化系列(九).
.分析数据库的依赖关系.

oracle的毛病!!

发表日期:2008-2-9



  
本文纯为牢骚, 怨言。一为笔者对Oracle软件如此这般的迷惑与不满,
二来其实可以总结ORACLE中的一些不规则性, 为ORACLE学习者提供一些借鉴..

1. 改变当前用户时SQLPLUS环境变量的设置是否被继续到新的用户环境下
  混乱, serverout 没有被继续, 而pagesize被继续.
2. SQLPLUS环境下命令行编辑功能微弱得可怜, 看看readline, 看看mysql
3. SQLPLUS环境的命令行没有历史记录功能, 看看MySQL. gdb, bash
4. 命名规范混乱得一踏糊涂. user_tab_columns, user_con_constraints
  user_tables, usre_cons_columns
5. SQLPLUS环境的初始化文件的location的要求, 看看.bashrc, .vimrc, .netrc
  .emacs, .newsrc...摸一个都比它强, 我要使用你的login.sql还非得在每
  一个当前目录下都弄一份, 随身携带呀? 好在这一点可以通过SQLPATH环境
  变量的设置来搞定.
6. 注释格式:--, 什么玩意呀, Html用, perl用#, PHP用#或/**/或
  //, C用/**/, C++用/**/和//, lisp用;;, 汇编用;, QBASIC用rem 和',
  SHELL,SED,AWK用#, 你干吗要自创一种. 自以为很鸟啊, 与别人兼容一点会
  小你什么身份.
7. 看看它的PL/SQL, 号称第N代的高级语言, function因为必需返回一个值而
  存在, 除此之外我看不出它与其它的procedure有什么区别. 又是trigger,
  又是package, 又是procedure, 又是function, 搞什么东东呀. 别人是把
  复杂的东西简单化, 我看ORACLE是要把简单的东西复杂化, 同样是PL/SQL
  程序, dbms_output.put_line被设计成在function里单独调用时不能输出.
  非要一个procedure单独调用它时它才会输出.
8. 单引号问题, javascript可以兼容使用单双引号, perl可以, php也可以, 它
  们可以是因为它们想兼容, 想对用户友好, C语言不答应, 那是因为它严谨.
  人家留着有大用场. 你ORACLE不答应使用双引号又是什么原由, 说来听听.
9. 别人的用户界面设计是"没有消息就是最好的消息", 或是"无论发生什么, 都
  要让用户知道", 看看它在sqlplus下的变量:
  var i number;
  i:=5;
  print i;
  你什么看见什么, 什么都没有! 你又能从这知道什么, 好消息?
  PS:我至今都不知道这说明了什么? i的值为NULL?, i不能在这下面赋值?
  不能赋值你说呀, 你不说我怎么知道不能赋值, 虽然你很能有意见地显示了
  一个空行, 但是你还是要说呀, 你真的不能赋值吗? 你不是真的不能赋值吧?
  ...
  后记: 好在我今天知道了要用
  SQL> exec :i := 5;
  SQL> print :i
  但总不能让我掘地三尺才找得出来这些浅显的东西吧.
10. 在sqlplus下help set看看, 找出一个叫set severout[put] onoff的选项
  注重, 它是severout, 你在sqlplus下set severout on试试,
  SP2-0158: unknown SET option "severout" 了吧?
  set serverout on
  是的, 就一个字母而已.
  编程大师说: 任何软件都有BUG.
  但, 一个如此小的BUG可以让一个全球第二大的软件公司带着它走过几个版本?
  Oracle8.15 Oracle8.16 Oracle8.17...难道保留错误是为了兼容性?
  后记: 我终于看到Oracle9i版里对此有了改进, 略感欣慰.
上一篇:oracle毛病(二) 人气:552
下一篇:Oracle 数据库 系统使用经验六则 人气:463
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐