当前位置:Gxlcms > 数据库问题 > Oracle 语法

Oracle 语法

时间:2021-07-01 10:21:17 帮助过:10人阅读

1.建表
CREATE TABLE COMPARE_KPPO_HEADER ( COMPARE_HD_ID NUMBER,--primary key not null,为主键的意思 PPO_NO VARCHAR2(20), PPO_REV_NO VARCHAR2(20), CREATE_DATE DATE, CREATE_USER_ID VARCHAR2(20), COMPARE_TYPE VARCHAR2(20), ORDER_TYPE VARCHAR2(10) );

2.修改表
ALTER TABLE COMPARE_KPPO_HEADER
ADD COLUMNS (ORDER_TYPE VARCHAR2(10),
    ORDER_NAME VARCHAR2(15)); 

ALTER TABLE COMPARE_KPPO_HEADER
MIDIFY COLUMS(ORDER_TYPE VARCHAR2(20));  

ALTER TABLE COMPARE_KPPO_HEADER
DELETE COLUMNS ORDER_TYPE; 
ALTER TABLE table_name RENAME TO new_table_name;--修改表名

3.建立自增键
CREATE SEQUENCE ESCMUSER.COMPARE_KPPO_HEADER_SEQ; 

--完整语法
CREATE SEQUENCE seqTest INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXvalue -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
  4.获取自增键的值,并将该值赋给变量
SELECT COMPARE_KPPO_HEADER_SEQ.NEXTVAL  INTO  v_COMPARE_HD_ID FROM DUAL;

5.建立视图
CREATE OR REPLACE VIEW V_TEMP AS SELECT DISTINCT PH.PPO_NO
FROM PPO_HD PH


6.if else语句
IF v_ORDER_TYPE = ‘KNBU‘ THEN
     ........
ELSIF v_ORDER_TYPE=‘KNSP‘ THEN--注意此处是ELSIF,少了一个E
    ................
END IF; 


--以下内容为Package
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE OR REPLACE PACKAGE ESCMUSER.KPPO_COMPARE_PACK  IS             --生成PPO对比数据     PROCEDURE p_gen_compare_kppo(v_PPO_NO VARCHAR2,v_PPO_REV_NO NUMBER,v_ORDER_TYPE VARCHAR2, v_UserID VARCHAR2,v_OPERATION_TYPE VARCHAR2);         END KPPO_COMPARE_PACK; --定义包体 / 

CREATE OR REPLACE PACKAGE BODY ESCMUSER.KPPO_COMPARE_PACK IS     PROCEDURE p_gen_compare_kppo_main(v_COMPARE_HD_ID NUMBER,v_PPO_NO VARCHAR2);     PROCEDURE p_gen_compare_kppo_labdip(v_COMPARE_HD_ID NUMBER,v_PPO_NO VARCHAR2,v_ORDER_TYPE VARCHAR2);             PROCEDURE p_gen_compare_kppo(v_PPO_NO VARCHAR2,v_PPO_REV_NO NUMBER,v_ORDER_TYPE VARCHAR2, v_UserID VARCHAR2,v_OPERATION_TYPE VARCHAR2)     IS     v_COMPARE_HD_ID NUMBER;     BEGIN 
        ..................................
    END;

Oracle 语法

标签:nbsp   art   --   设置   let   seq   distinct   varchar   序列   

人气教程排行