网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

基本sql(db2与Oracle比照)

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

【网学网提醒】:以下是网学会员为您推荐的基本sql(db2与Oracle比照),希望本篇文章对您学习有所帮助。


    ---------------------------
    第一条是db2;第二条是Oracle
    ---------------------------
    如果是增加字段:
    altertabletc_RedoutCadaddcolumnc_CardStatechar(1);
    --------------------------------------------------------
    altertabletc_RedoutCadaddc_CardStatechar(1);
    --------------------------------------------------------
    Oracle不需要关键字column。
    如果是修改字段类型:
    altertabletp_ParamControlaltercolumni_NextStateIDsetdatatypevarchar(8);
    -------------------------------------------------------------------------------
    altertabletp_ParamControlmodifyi_NextStateIDvarchar(8);
    -------------------------------------------------------------------------------
    区别在于Oracle不需要制定column关键字,用modify而不用setdatatype
    如果是修改字段名:
    altertabletp_ParamAuditNoterenamecolumntp_AuditorIDtos_AuditorID;
    -------------------------------------------------------------------------------
    altertabletp_ParamAuditNoterenamecolumntp_AuditorIDtos_AuditorID;
    -------------------------------------------------------------------------------
    二者一致
    注意:如果一个字段是主键那么应该先删除主键再改名,否则改不了。
    altertabletn_SpePesRegaltercolumni_SepSeqNosetdatatypevarchar(4);
    altertabletn_SpePesRegdropprimarykey;
    altertabletn_SpePesRegrenamecolumni_SepSeqNotos_SepSeqNo;
    altertabletn_SpePesRegaddprimarykey(s_Acct,s_SepSeqNo);
    如果是给字段增加注释:
    commentoncolumntm_FinaOrgCode.c_OrgLvlis'机构级次';
    -------------------------------------------------------------------------------
    commentoncolumntm_FinaOrgCode.c_OrgLvlis'机构级次';
    -------------------------------------------------------------------------------
    二者一致
    如果是修改表名:
    renametabletbv_FinaOrgCodetotm_FinaOrgCode;
    -------------------------------------------------------------------------------
    renametbv_FinaOrgCodetotm_FinaOrgCode;
    -------------------------------------------------------------------------------
    Oracle不用table关键字
    如果是删除表:
    --------------------------------
    droptabletm_UserRoleRelation;
    --------------------------------
    droptabletm_UserRoleRelation;
    --------------------------------
    二者一致。
    如果是删除字段:
    ------------------------------------------------
    altertabletest_citydropcolumncountry_name
    ------------------------------------------------
    altertabletest_citydropcolumncountry_name
    ------------------------------------------------
    二者一致
    如果是更改列的限制非空
    altertabletestalters_mailsetnotnull;
    -------------------------------------------
    altertabletestmodifys_mailnotnull;
    ------------------------------------------
    Oracle用的是modify而db2用的是set
    如果是更
    改列的限制由非空变为空
    --------------------------------------------------------------
    altertabletp_Accountaltercolumns_CorpAcctdropnotnull;
    ---------------------------------------------------------------
    altertabletestmodifys_mailnull;
    --------------------------------------------------------------
    Oracle比较简洁跟加一样,db2还得drop一下
    如果是增加外键:
    altertabletest_cityaddforeignkey(COUNTRY_CODE)referencestest_country(COUNTRY_CODE)
    ---------------------------------------------------------------------------------------------
    altertableC_EMPaddconstraintyenforeignkey(DEPTNO)referencesdept(DEPTNO);
    如果是删除主键:
    Altertabletestdropprimarykey;
    ------------------------------------
    altertableC_EMPdropconstraintYEN;
    -------------------------------------
    Oracle认的是约束名称YEN(isconstraintsname)
    如果是增加主键:
    altertabletest_country_cityaddprimarykey(country_code,city_code)
    ------------------------------------------------------------------------
    altertableC_EMPaddconstrainttbwprimarykey(EMPNO);
    如果是增加约束:
    -------------------------------------------------------------------------------------------
    altertabletest_markaddconstraintcon_1check(namein('lxr','jmx','dj','hww','yjb'))
    -------------------------------------------------------------------------------------------
    altertablestudentaddcheck(sexin('男','女'));
    -------------------------------------------------------------------------------------------
    Oracle与db2不太一样
    如果是复制表:
    createtablenew_table_nameas(select*fromtable_name)definitiononly;
    ----------------------------------------------------------------------------
    createtablenew_table_nameas(select*fromtable_namewhere1=2)
    -------------------------------------------------------------------------
    复制表带数据
    createtablenew_table_nameas(select*fromtable_namewhere1=1);
    DB2不支持需要先创建后插入
    如果是增加表:
    ---------------------------------------------------------------------------
    删除自增字段
    altertabletp_ParamAuditNotealtercolumni_AuditIDdropidentity;
    -------------------------------------------------------------------------------
    ORACLEoracle中没有自增列用sequence代替的。
    createsequencesalary_seq
    incrementby1---每次加几个
    startwith1--从1开始计数
    nomaxvalue--不设置最大值
    nocycle--一直累加,不循环
    cache10--有缓冲区
    ---有最大值,和循环
    createsequencesalary_seq
    minvalue100
    maxvalue9999999999
    startwith560
    incrementby1
    cache20;
    --使用方法
    using:insertintotableNamevalue(salary_seq.nextval,'','');
    dropsequencesalary_seq
    编号的连续性是不能保证的
    -------------------------------------------------------------------------------
    
  • 上一篇资讯: 基本SQL语句-应用
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师