日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

[小結]對比實現自動編號功能的幾種方法

系統 2710 0

--自動編號:Oracle
建表
create table t1(autoid number(10) primary key,name char(4));
創建序列
create sequence seq_t1_autoid;
添加數據
insert into t1(autoid,name) values(seq_t1_autoid.nextval,'a');
insert into t1(autoid,name) values(seq_t1_autoid.nextVal,'b');
commit;

--思考:能不能實現一個與DBMS無關的自動編號方法?
insert into t1(autoid,name) select max(autoid)+1,'c' from t1;
insert into t1(autoid,name)??select max(autoid)+1,'d' from t1;
commit;

--改正:
insert into t1(autoid,name) select nvl(max(autoid),0)+1,'c' from t1;
insert into t1(autoid,name)??select nvl(max(autoid),0)+1,'d' from t1;
commit;


面試:如何在Oracle中實現與Mysql一樣的自動編號:
解決:使用觸發器

create table t1(autoid number(10) primary key);
create sequence seq_t1_autoid;
create or replace trigger tr_t1_autoid
before insert on Friend
for each row
begin
??select seq_t1_autoid.nextval into :new.autoid from dual;
end;

--測試:
insert into t1(name) values('a');
insert into t1(name) values('b');
commit;

select * from t1;?

autoid? name??
?????1?? ? ?a????
?????2????? b????
+--------+------+

[小結]對比實現自動編號功能的幾種方法


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 通许县| 西青区| 水富县| 双流县| 威海市| 宁波市| 竹溪县| 上犹县| 岳西县| 阿克苏市| 西安市| 驻马店市| 汾西县| 芦山县| 开原市| 黑水县| 宜兰县| 海安县| 天津市| 武威市| 绥棱县| 吉隆县| 扎赉特旗| 沅陵县| 萨嘎县| 东莞市| 什邡市| 隆昌县| 项城市| 丹寨县| 南丹县| 贵溪市| 宁德市| 乌拉特后旗| 洛川县| 沙洋县| 法库县| 德庆县| 安阳县| 宁河县| 奉化市|