非業務 Oracle SQL 語句備份

2022-02-13 04:39:24 字數 1521 閱讀 2053

1、建立乙個將 oracle 生成的 guid 格式化為標準 guid 的函式

create or replace function fn_normal_guid

return varchar2 is

v_guid varchar2(32); -- 用於接收 oracle 生成的 guid

begin

-- 查詢 oracle 生成的 guid

select sys_guid() into v_guid from dual;

-- 將 oracle 生成的 guid 格式化為標準的 guid 並返回

return substr(v_guid,1,8)||'-'||

substr(v_guid,9,4)||'-'||

substr(v_guid,13,4)||'-'||

substr(v_guid,17,4)||'-'||

substr(v_guid,21,12);

end;

2、在 plsql 中測試並輸出語句異常的語句塊

需要用的時候來這兒拷貝過去改改就行了,免得每次都要寫一遍——麻煩!而且又不常用,每次寫的時候總有些細節半天想不起來,太浪費時間了!

declare

res varchar2(50);

begin

select to_char(fn_now,'yyyy年mm月dd日') into res from dual;

exception

when others then

dbms_output.put_line(substr(sqlerrm,1,64));

end;

3、在查詢語句中日期的一種特殊表示方法
select date '2017-06-20'+2 res from dual; -- res: 2017-06-22
4、利用 rownum 做分組子排序
select decode(rownum-t4.min_rownum,0,t4.dept_code,null) dept_code,

decode(rownum-t4.min_rownum,0,1,rownum-t4.min_rownum+1) rank,t2.staff_name

from(

select t1.dept_code,t1.staff_name from demo.t_staff t1 order by t1.dept_code,t1.staff_name

) t2, (

select t3.dept_code,min(rownum) min_rownum from(

select t1.dept_code,t1.staff_name from demo.t_staff t1 order by t1.dept_code,t1.staff_name

) t3

group by t3.dept_code

) t4

where t2.dept_code=t4.dept_code;

5、持續更新中

常用oracle sql語句

建立表空間 alter tablespace nm offline drop tablespace nm including contents and datafiles drop user nmcascade create tablespace nm datafile 1 size 500m au...

Oracle SQL語句優化

1,建表時 1 建立主鍵 2 建立索引 3 如果表資料量很大考慮建立分割槽 4 可以使用number型別的就不適用varchar2,這是因為引擎在處理查詢和連線時會逐個比較字串中每乙個字元,而對於數字型而言只需要比較一次就夠了。2,建立索引注意事項 1 首先應考慮在 where 及 order by...

oracle sql 複雜語句

1.oracle行轉列,pivot函式和unpivot函式 2.start with connect by prior 遞迴查詢用法 樹形結構的資料 例如組織機構樹 3.資料誤刪恢復 select from 表名稱 as of timestamp to timestamp 2020 05 07 08...