应用技术:oracle的毛病!!

来源:Oracle认证    发布时间:2012-11-12    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] on|off的选项,注意, 它是severout, 你在sqlplus下set severout on试试, SP2-0158: unknown SET option "severout" 了吧?set serverout on 是的, 就一个字母而已.
  编程大师说: 任何软件都有BUG.
  但, 一个如此小的BUG可以让一个全球第二大的软件公司带着它走过几个版本?
  Oracle8.15 Oracle8.16 Oracle8.17...难道保留错误是为了兼容性?

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答