Oracle 语法
Posted WesChan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 语法相关的知识,希望对你有一定的参考价值。
1.建表
CREATE TABLE COMPARE_KPPO_HEADER
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;
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
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
..................................
END;
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 语法的主要内容,如果未能解决你的问题,请参考以下文章