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
一个相关的问题是第三方支持的资格问题,尽管直接来自厂商的支持和服务可以一定程度上减缓这个问题,但是,对于有的企业来说,通过强有力的本地化支持显然更有吸引力。 同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。 总感觉自己还是不会SQL 现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层. 多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。 大侠们有推荐的书籍和学习方法写下吧。 我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力 XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
页:
[1]