数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
oracle的毛病!!

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

本文纯为牢骚, 怨言。一为笔者对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] on|off的选项
  注意, 它是severout, 你在sqlplus下set severout on试试,
  SP2-0158: unknown SET option "severout" 了吧?
  set serverout on
  是的, 就一个字母而已.
  编程大师说: 任何软件都有BUG.
  但, 一个如此小的BUG可以让一个全球第二大的软件公司带着它走过几个版本?
  Oracle8.15 Oracle8.16 Oracle8.17...难道保留错误是为了兼容性?
  后记: 我终于看到Oracle9i版里对此有了改进, 略感欣慰.




相关文章

相关软件