oracle schemaを削除するクエリ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | SET serveroutput ON declare ob varchar2(4000); CURSOR cur IS SELECT object_type,object_name FROM user_objects ORDER BY object_type,object_name; begin FOR vRec IN cur LOOP begin ob := 'DROP ' || vRec.object_type || ' ' || vRec.object_name; DBMS_OUTPUT.PUT_LINE(ob); execute immediate ob; exception when others then DBMS_OUTPUT.PUT_LINE('No:' || SQLERRM); DBMS_OUTPUT.PUT_LINE('Object:' || vRec.object_name); end; END LOOP; end; |
おまけ
mysql でいう limit みたいなこと。
rownum でしないといけない。相当めんどい。
1 2 3 4 5 6 7 8 9 10 11 12 13 | SELECT * FROM ( --実際に取得したいクエリー SELECT hoge, rownum rn FROM fuga ) WHERE 1 <= rn AND rn <= 10 |
さらにさらに
order by した上位10件とかだとこうなる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | SELECT * FROM ( SELECT *, rownum rn FROM ( --実際に取得したいクエリー SELECT hoge FROM fuga ORDER BY foo ) ) WHERE 1 <= rn AND rn <= 10 |
めんどくさすぎる。。。。
というのをただ伝えたかっただけwww