oracle語法記錄
阿新 • • 發佈:2017-06-19
範圍 acl declare rom rms 基本 sel begin sys
-- loop的三種形式 (1).LOOP (2).WHILE ... LOOOP (3).FOR ... LOOP 1.基本的LOOP語句 SET serveroutput ON; -- exit ... when 結束循環 DECLARE v_value NUMBER(8) := -3; BEGIN <<value_loop>> -- 循環標記 LOOP dbms_output.put_line(‘v_value = ‘ || v_value); v_value := v_value+1; EXIT value_loop WHEN v_value > 3; END LOOP; dbms_output.put_line(‘loop循環結束!‘); END; -- if ... exit 結束循環 DECLARE v_value NUMBER(8) := -3; BEGIN <<value_loop>> LOOP dbms_output.put_line(‘value:‘ || v_value); v_value := v_value +1; IF v_value > 3 THEN dbms_output.put_line(‘value is larger than 3 , current value is ‘ || v_value); EXIT value_loop; END IF; END LOOP value_loop; dbms_output.put_line(‘loop is end‘); END; 2.while ...loop 結構 本身可以結束循環 DECLARE v_value NUMBER(8) := -3; BEGIN <<while_loop>> WHILE(v_value < 4) LOOP dbms_output.put_line(‘value is ‘ || v_value); v_value := v_value + 1; END LOOP while_loop; dbms_output.put_line(‘while loop is end‘); END; 3. FOR ... LOOP 結構 可以遍歷某個範圍整數 BEGIN FOR v_value IN -3..3 LOOP dbms_output.put_line(‘value is ‘ || v_value); END LOOP ; dbms_output.put_line(‘for loop is end‘); END; -- oracle 的時間 SYSDATE 系統時間 SYSTIMESTAMP 當前系統的時間戳 CURRENT_TIMESTAMP 與時區設置有關,返回的秒是系統的,返回的日期和時間是根據時區轉換過的. current_date 是對CURRENT_TIMESTAMP準確到秒的四舍五入。 select sysdate,systimestamp,current_date,current_timestamp from dual; -- oracle序列 CREATE SEQUENCE SEQ_TT_TRMS_CAR_TASK START WITH 1 INCREMENT BY 1 NOMAXVALUE MINVALUE 1 NOCYCLE NOCACHE currval:返回sequence的當前值 nextval:返回增加sequence的值,然後返回sequence的值 SELECT SEQ_TT_TRMS_CAR_TASK.currval FROM dual; SELECT SEQ_TT_TRMS_CAR_TASK.nextval FROM dual; -- sql%rowcount oracle 的變量 影響的行數
oracle語法記錄