如何在select语句里面对SQL的结果集进行处理?用model函数就够了

Model语句是Oracle 10g的新功能之一。下面主要通过一些简单的例子来帮助大家理解Model语句的用法。

以下基于Oracle11.2.0.4测试。

model语句是Oracle10g的新功能,可以在select语句里面像其他编程语言操作数组一样,对SQL的结果集进行处理。执行顺序是位于Having之后。

select的解析执行顺序

model的好处

Oracle 9i为止,需要使用各种计算分析函数,union all等,以及借助其他开发语言(C#及Java等)进行复杂计算统计合并等。使用Model之后,这些都可以在SQL里面进行了。

model典型使用场景:

1、例子1:

结果:

说明:

根据下面语句model dimension by (soeji) measures(ArrValue) soeji作为索引对数组ArrValue进行操作,rules(ArrValue[1] = 'Hello World')就是说用Hello World覆盖ArrValue[1]里面的值。

2、例子2

执行结果:

rules的缺省行为是存在就更新,不存在则追加,因此,ArrValue[1] = 'Hello World'是更新一条,ArrValue[2] = 'Hello Model'insert一条。

3、例子3:

model语句里面,索引可以是不连续的。

4、例子4

使用model return updated rows的话,被rules更新或者插入的行才显示,没有更新过的行不再作为SQL的结果。

篇幅有限,这里主要简单介绍一下model的用法,大家感兴趣的话建议做一下相关实验深入了解下。

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~



  • SQL涓 SELECT S.S#,SN FROM S,SC涓 S.S#浠涔堟剰鎬濆晩 灏ゅ叾鏄偅涓._鐧惧害...
    绛旓細绠鍗曠殑璇达細SELECT S.S#,SN FROM S,SC 鍙互鐞嗚В涓 SELECT 琛1.瀛楁1, 瀛楁2 FROM 琛1,琛2 鍏朵腑瀛楁2娌℃湁鍓嶇紑鐨勮瘽锛屽氨浠h〃杩欏彲鑳芥槸 琛1鐨 涔熷彲鑳芥槸琛2鐨勶紝骞朵笖杩欎袱涓〃鍙彲鑳芥湁涓涓瓧娈2鐨勫垪锛屼笉鐒璇彞灏变細鎻愮ず閿欒鐨勩
  • SQL 鎴戠敤select璇彞 瀵逛竴涓〃鏍兼煡璇负浠涔堟病鏈夌粨鏋
    绛旓細select sname from student where slcass='淇℃伅1鐝' --- 杩欓噷搴旇鏄 sclass = '淇℃伅1鐝' 瀛楁鍚嶇О鍐欓敊浜 杩樻湁浣犲彲浠ヨ繖鏍疯瘯璇曪細select sname from student where sclass like '%1鐝%'璇曡瘯鐪嬫湁娌℃湁缁撴灉锛屾湁缁撴灉鐨勮瘽鏄綘瀛楃涓叉墦閿欎簡 ...
  • 浣跨敤SQL Server鏁版嵁搴,濡備綍瀵鏁版嵁椤瑰姞S閿佹垨X閿佸憿??
    绛旓細鍏变韩(S) 鐢ㄤ簬涓嶆洿鏀规垨涓嶆洿鏂版暟鎹殑鎿嶄綔(鍙鎿嶄綔),濡 SELECT 璇彞銆 鏇存柊(U) 鐢ㄤ簬鍙洿鏂扮殑璧勬簮涓傞槻姝㈠綋澶氫釜浼氳瘽鍦ㄨ鍙栥侀攣瀹氫互鍙婇殢鍚庡彲鑳借繘琛岀殑璧勬簮鏇存柊鏃跺彂鐢熷父瑙佸舰寮忕殑姝婚攣銆 鎺掑畠(X) 鐢ㄤ簬鏁版嵁淇敼鎿嶄綔,渚嬪 INSERT銆乁PDATE 鎴 DELETE銆傜‘淇濅笉浼氬悓鏃跺悓涓璧勬簮杩涜澶氶噸鏇存柊銆 鎰忓悜閿 鐢ㄤ簬寤虹珛閿佺殑灞傛缁撴瀯銆
  • 杈撳叆涓涓暟瀛(1鈥曗7),鍒嗗埆鐢select璇彞鍜宑hoose鍑芥暟涓ょ鏂规硶鏄剧ず瀵瑰簲鐨...
    绛旓細Private Sub Command1_Click() Dim n As Integer n = Text1 Select Case n Case 1: s = "鏄熸湡涓" Case 2: s = "鏄熸湡浜" Case 3: s = "鏄熸湡涓" Case 4: s = "鏄熸湡鍥" Case 5: s = "鏄熸湡浜" Case 6: s = "鏄熸湡鍏" Case 7: s = "鏄熸湡鏃" End ...
  • ...鏁版嵁搴撲腑'绱㈠紩'鐨勭敤娉,鎬庝箞鍒涘缓,鍜鍦╯elect璇彞涓庝箞浣跨敤???_鐧惧害...
    绛旓細master涓鏈変竴涓悕涓簊ysindexes鐨勭郴缁熻〃锛屼笓闂ㄧ鐞嗙储寮曘係QLS鏌ヨ鏁版嵁琛ㄧ殑鎿嶄綔閮藉繀椤荤敤鍒板畠锛屾鏃犵枒涔夛紝瀹冩槸鏈枃涓昏涔嬩竴銆傛煡鐪嬩竴寮犺〃鐨勭储寮曞睘鎬э紝鍙互鍦ㄦ煡璇㈠垎鏋愬櫒涓娇鐢ㄤ互涓嬪懡浠わ細select * from sysindexes where id=object_id(鈥榯ablename鈥) 锛涜岃鏌ョ湅琛ㄧ殑绱㈠紩鎵鍗犵┖闂寸殑澶у皬锛屽彲浠ヤ娇鐢ㄧ郴缁熷瓨鍌ㄨ繃绋...
  • SQL璇彞涓鐨SELECT,WHERE, GROUP BY,HAVING ,COUNT ,UPDATE,SET SCORE鏄...
    绛旓細灏变互閭37棰樹负渚嬬粰浣犺涓嬶紝SQL璇彞濡備笅锛屽ぇ鍐欑殑鍗曡瘝涓哄叧閿瓧锛屽叾涓--鈥濆悗闈㈢殑鏄垜鐨勮В閲婏紝鍐橲QL璇彞鏃朵笉闇瑕佸寘鍚鍦ㄥ唴銆傦紙1锛SELECT s.s#, s.sn --SELECT鍏抽敭瀛楄〃绀鸿繖鏄竴鏉℃煡璇㈣鍙ワ紝鍚庨潰璺熺殑鏄鏌ヨ鐨勫瓧娈碉紝杩欓噷灏 鏄鏌ヨs琛ㄧ殑s#鍜宻n杩欎袱涓瓧娈点 FROM s,sc --FROM鍏抽敭...
  • 濡備綍鐢⊿QL璇彞灏嗚〃S涓鐨凙,B瀛楁涓殑鎵鏈夎褰曚簰鎹?
    绛旓細濡傛灉鏄荤畝鍗曠殑鏌ヨ閭d箞Select cell as cell2,cell2 as cell1 from TableName杈戜笂浜掓崲 鍙互閫氳繃瑙嗗浘瀹炵幇Create View ViewName as Select cell as cell2,cell2 as cell1 from TableName鐗╃悊涓婇偅瑕佺湅鍏蜂綋鐨勬暟鎹簱浜 鎬讳箣鏄妸鏁版嵁鍐欏嚭鏉 鐒跺悗鍐欏洖鍘 ...
  • 銆愭ャ憇ql 璇彞鏌ヨ瀛楁A 鏍规嵁鍒嗛殧绗︽埅鍙栧瓧绗︿覆 寰楀埌涓涓柊鐨勫瓧娈礢,鐒...
    绛旓細set @functionName = reverse(substring(reverse(@str),charindex('/',reverse(@str))+1, charindex('/',reverse(@str),charindex('/',reverse(@str))+1) - charindex('/',reverse(@str)) - 1 ))select @functionName 浠ヤ笂璇彞鏄繑鍥炲掓暟绗簩涓'/'鍜屾渶鍚庝竴涓'/'涔嬮棿鐨勫瓧绗︿覆鐨勫啓娉 鎶...
  • 鍦⊿QL璇彞涓瑕佹煡璇㈣〃s鍦ˋGE瀛楁涓婂彇绌哄肩殑璁板綍,姝g‘鐨凷QL璇彞涓
    绛旓細妯嚎澶勫~锛歛ge is null 瀹屾暣璇彞锛select * from s where age is null 璁板緱閲囩撼銆
  • 鍏充簬select璇彞鐨勯棶棰
    绛旓細SELECT 缂栧彿 FROM s WHERE 闀=xx and 鐩村緞=xx
  • 扩展阅读:在select语句中使用表示 ... select多表查询 ... select语句模板 ... insert+select+组合 ... select min语句的基本用法 ... select语句的执行结果 ... select用法归纳 ... 万用表中select代表什么 ... 下面的select语句用于查询 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网