目錄
(一)檢測插入資訊的時候必須制定的字段
(二)設定主鍵以及非空
(三)建立表
(四)給表新增備註
(五)查詢備註
(六)檢視表備註
(七)建立同義詞以及授予增刪改查許可權
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';
執行結果如下:
執行結果如下:
--(必須先建立同義詞)
create or replace public synonym es_hybris_order_sms_hist for sys_iv.es_hybris_order_sms_hist;
--(其次再授予許可權)
create sequence seq_xx --建立序列名稱
increment by 1 --增長幅度
start with 1 --初始值
maxvalue 9999999999999999; --最大值
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;--刪除
每查詢一次,序列按自定義增長;
drop sequence seq_xx;
有些情況下使用不合理,刪除已有序列,再新建同名序列之後,重新使用該規則,可能會對已使用該序列資料造成影響。
加了「/」之後,可以在後面接其他的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;
/
select * from user_sequences; --查詢使用者建的序列
我們發現欄位sequence_name的值裡面有剛才建立的seq_xx,這就解釋了為什麼判斷存在時候名字區分大小寫了
判斷序列是否存在引用
Oracle 之 表新增欄位後修改字段順序
工作中遇到 在為乙個表新增欄位後,新增欄位在最後,想調整新增欄位的位置。1 原始方法 新建臨時表以儲存正確的順序 create table a 2 as select column1,colum2,a表中的順序 from a 1 刪除表a 1 drop table a 1 新建a 1並從a 2表中賦...
Oracle 之 表新增欄位後修改字段順序
工作中遇到 在為乙個表新增欄位後,新增欄位在最後,想調整新增欄位的位置。1 原始方法 新建臨時表以儲存正確的順序 create table a 2 as select column1,colum2,a表中的順序 from a 1 刪除表a 1 drop table a 1 新建a 1並從a 2表中賦...
Oracle 之 表新增欄位後修改字段順序
工作中遇到 在為乙個表新增欄位後,新增欄位在最後,想調整新增欄位的位置。1 原始方法 新建臨時表以儲存正確的順序 create table a 2 as select column1,colum2,a表中的順序 from a 1 刪除表a 1 drop table a 1 新建a 1並從a 2表中賦...