深爱那片海 发表于 2015-1-16 22:38:54

MYSQL网页设计oracle偏差(二)

如IBM公司最近宣布让渠道合作伙伴分销其SaaS应用程序的新计划。微软认为MySQL学习教程是销售其云计算服务的重要组成部分。然而即使有这种趋势,DBaaS仍然不同于内部数据库,解决方案提供商必须认识到这一点;否则,他们不仅仅是丢失几个客户,而是要失去的更多。oracle
接第一篇:
11.PL/SQL的用户们,看看上面:
  创立一个没带参数的procedure:
  createorreplaceprocedureproc_nameas
  inumber;
  begin
  ...
  endproc_name;

  创立一个带参数的procedure:
  createorreplaceprocedureproc_name(arg1,...)as
  inumber;
  begin
  ...
  endproc_name;
  你很习气用declare来声明吗?不可,这里不可,你必须听我的,用as

  创立一个触发器:
  createorreplacetriggertri_namebeforeinsertontnameforeach
  row
  declare
  inumber;
  begin
  ..
  end;
  由于这是触发器,以是它要用declare来声明变量,只管触发器用的也是PL/
  SQL的语法.但我们是为了区分于别的范例的存储历程,为了让用户以为
  ORACLE一目了然一点.
  怎样就一个end;不是endtri_name吗?是的,procedure和function是如许
  计划的,但如许可让用户以为更难用一点么!
  
  (sqlplus下)你挪用一个不带参数的procedure:
  callproc_name();
  (sqlplus下)你挪用一个不带参数的procedure:
  callproc_name(arg1,arg2);
  是的,它不是可选的,它必须云云,界说一个没有参数的procedure就是不
  要空的()号,但挪用它的时侯就是要,界说一个有参数的procedure固然也要.
  function的情形与这个也一样.

  你挪用一个function:
  ret_val:=func_name();
  甚么?你不必要ret_val,不可,这是强买强卖,不要不可.不然我不干活!
  并且,哼哼,我给出的毛病信息包管你看不懂.

  你要玩更初级的计划办法,用上包了:
  createorreplacepackagepack_nameas
  ....
  endpack_name;
  是的,这只是包的声明.
  要想界说这个包,你还得:
  createorreplacepackagebodypack_nameas
  procedureproc_nameis
  --你不是说用as吗?是的,可是这里as已被上一条语句用了,呶!你
  也看到了.用is有甚么欠好?
  endproc_name
  functionfunc_nameis
  ...
  endfunc_name
  endpack_name;
12.看看堕落信息,来自SQLPLUS的,来自Pro*C预编译器的,来自别的工具如
  imp,exp,sqllda的.说禁绝你也别误导呀.
13.筋疲力竭的Pro*C程序员们:
  在函数foo中你已声了然
  EXECSQLWHENEVERSQLERRORGOTOsql_err;
  在另外一个函数bar里你只想冷静地利用
  EXECSQLWHENEVERSQLERRORCONTINUE;
  但你没出格声明,Pro*C的预编译器会告知你,它在函数bar中找不到sql_err
  标号!!!它能够跨函数利用标号.它也敢自称是一个预处置器跟编译器沾沾
  边,方才用陈桥五笔敲出来的处置器三个字刚好跟处置品是一样的键码,我看
  叫处置品却是名符实在.
14.DDL语句的用户们:
  altertabletnameadd(col1type...);
  altertabletnamemodify(col1type...);
  altertabletnamedropcolumn(col1);
  为什么非要在drop里多出来一个column?
15.定名
  user_cons_columns;
  user_constraints;
  user_rollback_segs;
  它真的要把segment一切缩写为segs吗?把constraints缩写为cons?把
  columns缩写为cols?不,ORACLE的程序员们想怎样就怎样.他们是以为
  单词的全称太长了吗?不见得,descdba_users;看一下
  看看INITIAL_RSRC_CONSUMER_GROUP字段,看看temporary_tablespace字段.

  再来看看一下createtable:
  createtabletname(col1type,...)storage(initial..next..
  minextents..maxextents..)...;
  descuser_tables;
  inital_extent
  next_extent
  minextents
  maxextents
  不要问他们为何有的用双数有的用单数,由于他们是ORACLE.他们想如许.
  dba_tables中owner
  dba_sequences中叫sequence_owner
  user_tab_columns是关于一张表中列信息的,_tab_columns
  user_cons_columns是关于表中字段的束缚信息的,_cons_columns
一个相关的问题是第三方支持的资格问题,尽管直接来自厂商的支持和服务可以一定程度上减缓这个问题,但是,对于有的企业来说,通过强有力的本地化支持显然更有吸引力。

只想知道 发表于 2015-1-19 20:26:41

同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。

兰色精灵 发表于 2015-1-27 18:40:00

总感觉自己还是不会SQL

小妖女 发表于 2015-2-5 10:19:16

现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.

小魔女 发表于 2015-2-11 09:23:02

多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。

若天明 发表于 2015-3-11 02:42:10

大侠们有推荐的书籍和学习方法写下吧。

简单生活 发表于 2015-3-17 19:10:45

我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力

再见西城 发表于 2015-3-24 21:31:24

XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
页: [1]
查看完整版本: MYSQL网页设计oracle偏差(二)