目录
(一)检测插入信息的时候必须制定的字段
(二)设置主键以及非空
(三)创建表
(四)给表添加备注
(五)查询备注
(六)查看表备注
(七)创建同义词以及授予增删改查权限
1、创建序列:
2、查询序列:
3、删除序列:
4、判断序列是否存在,存在则删除:
5、查询序列大小写问题
(一)检测插入信息的时候必须制定的字段
STAT_CDE VARCHAR2(20) CHECK (STAT_CDE in ('S','C','A','E')),
表示只在S C A E
(二)设置主键以及非空
ID VARCHAR2(15) PRIMARY KEY NOT NULL,
(三)创建表
create table es_invc_hdr_temp(
ID VARCHAR2(15) PRIMARY KEY NOT NULL,
ORDER_KEY VARCHAR2(50) ,
ORDER_REF_NO VARCHAR2(50) ,
THIRD_PARTY_ORDER_ID VARCHAR2(100) ,
STAT_CDE VARCHAR2(20) CHECK (STAT_CDE in ('S','C','A','E')),
REMARK VARCHAR2(240),
CREATE_DTE DATE not null,
UPDATE_DTE DATE
);
(四)给表添加备注
COMMENT ON TABLE es_invc_hdr_temp IS '发票信息临时表';
COMMENT ON COLUMN es_invc_hdr_temp.ID IS '主键(自动生成)';
COMMENT ON COLUMN es_invc_hdr_temp.ORDER_KEY IS '订单orderkey';
COMMENT ON COLUMN es_invc_hdr_temp.ORDER_REF_NO IS 'Eshop订单编号';
COMMENT ON COLUMN es_invc_hdr_temp.THIRD_PARTY_ORDER_ID IS '第三方订单编号';
COMMENT ON COLUMN es_invc_hdr_temp.STAT_CDE IS '发票状态';
COMMENT ON COLUMN es_invc_hdr_temp.REMARK IS '备注';
COMMENT ON COLUMN es_invc_hdr_temp.CREATE_DTE IS '创建时间(不能为空)';
COMMENT ON COLUMN es_invc_hdr_temp.UPDATE_DTE IS '更新时间';
(五)查询备注
SELECT
TABLE_NAME,
COLUMN_NAME,
COMMENTS
FROM
USER_COL_COMMENTS
WHERE
TABLE_NAME ='ES_INVC_HDR_TEMP';
运行结果如下:
(六)查看表备注
SELECT
TABLE_NAME,
TABLE_TYPE,
COMMENTS
FROM
USER_TAB_COMMENTS
WHERE
TABLE_NAME = 'ES_INVC_HDR_TEMP';
运行结果如下:
(七)创建同义词以及授予增删改查权限
--(必须先创建同义词)
CREATE OR REPLACE PUBLIC SYNONYM ES_HYBRIS_ORDER_SMS_HIST for sys_iv.ES_HYBRIS_ORDER_SMS_HIST;
--(其次再授予权限)
grant select, insert, update, delete on ES_HYBRIS_ORDER_SMS_HIST to es_app;
转载内容如下:作为笔记使用
1、创建序列:
create sequence seq_xx --创建序列名称
increment by 1 --增长幅度
start with 1 --初始值
maxvalue 9999999999999999; --最大值
2、查询序列:
select seq_xx.nextval from dual;
--或者select seq_xx.nextval from sys.dual;
select SEQ_ES_INVC_HDR_TEMP_ID.nextval from dual;--查询索引最大值
select SEQ_ES_INVC_HDR_TEMP_ID.MAXVALUE from dual;
DROP SEQUENCE SEQ_ES_INVC_HDR_TEMP_ID;--删除
每查询一次,序列按自定义增长;
3、删除序列:
DROP SEQUENCE seq_xx;
4、判断序列是否存在,存在则删除:
有些情况下使用不合理,删除已有序列,再新建同名序列之后,重新使用该规则,可能会对已使用该序列数据造成影响。
加了“/”之后,可以在后面接其他的SQL语句;
declare
V_NUM number;
BEGIN
----多次删除时,每次都将v_num设置成为0
V_NUM := 0;
----判断序列 seq_name_1 是否存在(区分大小写)
select count(0) into V_NUM from user_sequences where sequence_name = 'SEQ_XX';
----如果存在立即删除
if V_NUM > 0 then
execute immediate 'DROP SEQUENCE SEQ_XX'';
end if;
END;
/
5、查询序列大小写问题
select * from user_sequences; --查找用户建的序列
我们发现字段SEQUENCE_NAME的值里面有刚才创建的SEQ_XX,这就解释了为什么判断存在时候名字区分大小写了
判断序列是否存在引用https://blog.csdn.net/jay329106193/article/details/7637665