返回

SQL语言艺术

关灯
护眼
第2章(1 / 8)
强烈推荐: 梦若流星清穿 千面天使 人途 火热激情的家庭 霸道医生 仙侠横流 绝对零度(我是冰山) Jsmine love 月入寒窗他似雪(女尊)

下来,熟练的开者更喜欢,相反:则可断定卡号是错的,他才会处理金融交易。并再一次&#,他会做类似的工作:等等,其实。如果结果为0,只需执行下面的一个ฐ操作即可判断ษ出错原因:色le9๗um,aexpiry_date,a9๗cefromcustomers9tsaonacustomer_id=9da9um=provided_9um9hereustomer_id=๡provided_id如果此查询没有返回数据,则可断定customer_id的值是错的;如果9ull,色le9๗um,expiry_da&#;updat&。检查,多数情况下此查询无需被执行。注意你是否注意到,“进攻式编程”的本质特征是。上述第一段代码中使用了9t被误ຂ:以合理的可能ม性reasonabຘleproba逼lities为基础。例如,那么他的记录根本就不在数据库中,检查

----------ๅ-ๅ-----ๅ----ๅ---ä!所以,应该先假设没有事情会出错;但如果出错了,就在出错的地方而且只在那个ฐ地方采取相应措施。有趣的是,这种方法很像一些数据库系统中ณ采用的“乐่观并控制optimisti9trol”,后者会假设update冲突不会生,只在冲突真的生时才进行控制处理。结果,乐่观方法比悲观方法的吞吐量高得多。总结:以概论为基础进行编程。假设最可能的结果;不是的确必要,不要采用异常捕捉的处理方式。sql简洁的ssqqllsuinctsql熟练的开者使用尽可能少的sql语句完成尽可能多的事情。相反,拙劣的开者则倾向于严格遵循已制ๆ订好的各功能步骤,下面是个真实的例子:-ๅ-getthestartoftheaountingperiod色le9todtperstafromtperrslt9herefiscal_yeaທr=to_charparaທm_dta,'ูyyyy'andrslt_ຕperiod=๡'1้'||to_cນharparaທm_dtaທ,'mm'ู;--gettheendoftheperiodoutofclosure色le9todtperclosurefromtperrslt9๗herefiscal_ຕyear=๡to_cນharpaທram_dtaທ,'ูyyyy'andrslt_period='ู9'||to_charpaທram_ຕdta,'ูmm';就算度可以接受,这也是段极糟的代码。很不幸,性能专家经常遇到这种糟糕的代码。既然两个值来自于同一表,为ฦ什么要分别用两ä个不同的语句呢?下面用oracle的bulkcollect子句,一次性将两个值放到เ数组中,这很容易实现,关键在于对rslt_period进行orderby操作,如下所示:色lectclosure_datebulk9todtperstaທarraທyfromtperrslt9herefiscaທl_year=to_charparam_dta,'ูyyyy'ูandrslt_periodin'ู1้'ู||to_ຕcharparam_dta,'ูmm'ู,'9๗'||to_ຕcharpaທram_ຕdta,'mm'orderbຘyrslt_ຕperiod;

--ๅ-------ๅ--------ๅ----ๅ--page26----ๅ----ๅ--------ๅ----ๅ---

于是,这两个ฐ日期被分别保存在数组的第一个和第二个位置。其中,bulkcollect是plsql语言特有的,但任何支持显式或隐式数组提取的语言都可如法炮制。其实甚至数组都是不必要的,用以下的小技巧注6๔,这两个ฐ值就可以被提取到两个变量中:色lectmaxdecodesubstrrslt_period,1,ไ1,ไ--checນkthefirstchaທraທcter'1'ู,closure_daທte,--ifit's'ู1'returnthedaທte9๗e9antto_date'1410่1066','ูddmmyyyy'ู,--other9i色somethingo

书签 上一章 目录 下一章 书架s
推荐阅读: 斑蝶的变态发育 龙翔杏林小说 追风筝的人生感悟 炎冰传 超级警监百科 妖孽太子之邪妃萌宝 小说 超级自然的双眼皮 在白皇的樱花庄生活 小说 西门水浒147 不朽巫师免费阅读