oracle语法记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle语法记录相关的知识,希望对你有一定的参考价值。

-- 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语法记录的主要内容,如果未能解决你的问题,请参考以下文章

在下面的代码片段中的剩余 ='passthrough' 处的代码中出现语法错误

如何在 Toad for Oracle 中使用自定义代码片段?

oracle语法记录

ORA-01008 错误 - 使用 OleDb 将记录插入 Oracle DB

oracle和postgresql 递归查询父子关系记录语法区别

Oracle自定义函数记录