网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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教程,数据库安全,数据库文摘
本月文章推荐
.tr的使用方法.
.建立数据库认证的FTP.
.实用心得:虚拟机下Oracle的安装.
.Oracle用户权限的管理.
.ORACLE常用傻瓜问题1000问全集(.
.讲解Oracle show parameter命令的.
.使用过的rman备份集的变化.
.使用新的list分割方法提高灵活性.
.Oracle进程内存结构-如何察看Ora.
.ASP 中通过OLEDB访问 Oracle 的代.
.数据库名DB_name实例名instance全.
.ORACLE常用傻瓜问题1000问(之一).
.用Oracle导入导出工具实现Oracle.
.在.net中Oracle日期类型的处理.
.Oracle数据库游标使用大全.
.Oracle数据库常见问题答疑二.
.最常碰到的10个Oracle错误.
.[范例] LOV (list of values 值列.
.Oracle里时间的应用.
.ORACLE常用傻瓜問題1000問(之十一.

Oracle--养生之道

发表日期:2008-2-9



  ——驳《Oracle--毛病篇》
  
  前言:
  
  “师者,所以传道授业解惑也 。”
  首先,无论是作者的怨言还是切身感受,无论是早期的想法还是执着至今,我们今日权当技术探讨,为曾经迷惑或即将迷惑的人提供参考。
  我与前文作者小赵素未谋面,但为其在技术领域的专注而感动,故落笔挥墨,简单处一带而过。
  
  以下题号相同,可以与上篇文章同阅,不再赘述。
  1、SQLPLUS只是一个客户端软件,不要指望它会继续什么,不用说serverout、pagesize,就是修改了时间显示格式,也不能被其他用户继续,这正是基于SESSION的好处啊。当然,假如你愿意永久修改些什么,可以通过修改数据字典、配置文件或注册表完成。
  2、命令行编辑功能?
  ORACLE调整的是缓冲区,EDIT可以实现大部分,好的治理员仍然以.SQL的脚本为主,单独的命令行少用为妙。虽然我对SQL PLUS的设计也没什么好感,但也觉得没必要弃一豹而争一斑。
  3、SQLPLUS环境的命令行没有历史记录功能?
  SQLPLUS现在有两个版本,(以WIN2K为例)我们假如用图形界面的SQLPLUS,其实对应的是SQLPLUSW.EXE;而如用SQLPLUS.EXE,利用系统的功能,是可以实现DOSKEY功能的。
  4、命名规范混乱得一踏糊涂?
  user_tab_columns, user_con_constraints,user_tables, usre_cons_columns。很有规则嘛,不要带着过去数据库的抵触情绪去理解ORACLE,我也是SQLSERVER、mysql、POSTSQL的开发者,所以我们要着重体会数据库思想的精髓,求同存异,这才有利于自身发展,也不至于为琐事烦恼。
  5、作者已经相通了。
  6、注释格式:--, 什么玩意呀?
  我觉得你有必要与ANSI组织联系一下,SQL92标准的衍生物,问问微软是怎么干的?
  7、PLSQL独树一帜?
  PL/SQL没有号称第N代的高级语言,第四代打住了,SQL就决定了。而ORACLE也很谦虚,PL-PROCEDURE LANGUAGE,过程性语言,没有说编译,没有面向对象。至于dbms_output.put_line
    不能在FUNCTION中输出,是误解,过程可以CALL过程,因此过程中可以dbms_output.put_line,而函数可以RETURN,不会为开发带来困难。
  8、没明白作者是说单引号问题还是双引号问题,不过拿语言和ORACLE相对比是不合适的,假如你说Java或C方便的实现,那么可以用SQLJ或PRO*C编写过程。
  9、这是作者对知识点的混淆,也是没有把握扎实PL/SQL,
  var i number;
    i:=5;
    此时I是一个PLSQL变量,要输出,只能在PLSQL中输出,如*.put_line输出。
    :i := 5;
    此时:i 是一SQLPLUS的外部变量,赋值和输出,就是这种规则。
    很多时候不能想当然,假如不想走弯路,不想掘地三尺,就要踏踏实实的读些资料。
  10、我无话可说,为作者的苦心感动。
  11、过程和函数的用法与PLSQL匿名块的关系:
    过程的用法是要遵循各种数据库的习惯的,如MSSQL。但PLSQL是ORACLE自己的语言,可以有更多的自由。规定如何用就如何用,尤其是语法,就看个人的适应性了。唯一需要理解的是包,这是ORACLE有远见的一面,这里可以看到面向对象的痕迹,类.方法,像吧,也为以后JAVA与PLSQL的协同工作打下了基础。
  12、细心AND熟能生巧。
  13、我用PLSQL和SQLJ,对PRO*C不作评价。
  14、DDL语句是SQL92标准的,ADD COLUMN,不用COLUMN是因为其他没有什么可以ADD,但DROP 必须加COLUMN,是因为此要害字还可以是CONSTRAINT,ORALCE没有错。
  15、又回到命名的问题上了?
  ORACLE的命名取舍原则是:常用的对象名或列名要简单,很少使用的名称要复杂,这是符合大多数人习惯的,尤其是ORACLE DBA,否则,一概而论反倒缺省人性化,为DBA造成沉重负担。
  
  后话:
    肯定的说,作者的后话才是大彻大悟,说出奋斗的感觉。每一种产品,都会有优缺点,不然怎么会有后人的聪明?“人类在一个fortran语言大行其道的年代就已经登上了月球”,古人就知道善假于物也,我们可能不是爱因斯坦,但我们可以是牛顿,可以有众多可以借鉴的肩膀。ORACLE博大精深,在于她的思想和数据库的理论,不是虚张声势的外表。程序员不可多得,不是他学会多少语言。人是一个综合体,要挖掘潜在的能量,就要从不同角度入手,找到最适合自己的开发方式,使之终有一番作为。选择,并不意味着放弃原有,数据库如此,而勤奋和聪明,你又能舍弃哪一个呢?
上一篇:export/import技巧 人气:673
下一篇:oralce names server 简介 人气:577
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐