• Oracle PL/SQL DDL


    Table, Field:
    Create Table TABLE_NAME(
        COL1 
    Integer Default 4 Not Null,
        
    Constraint PK_NAME Primary Key(COL1));
    Alter Table TABLE_NAME Add(
        COL2 
    Decimal Default 0 Null,
        COL3 
    Varchar2(20Default ' ' Null,
        COL4 
    Integer Not Null);
    Alter Table TABLE_NAME Modify (
        COL3 
    Varchar2(70Default ' ' Not Null,
        COL4 
    Decimal Default 0);
    --注意:修改列时如果原来的列已经为Not Null,Modify语句中就只能给Null或者不写是否允许 Null的属性
    Alter Table TABLE_NAME Drop (COL3, COL4);
    Drop Table TABLE_NAME;
     
    Index, Constraint:
    Create Index IX_NAME_1 On TABLE_NAME(COL4, COL1)
          Tablespace ERP Storage (Initial 20K 
    Next 20k Pctincrease 75);
    Drop Index IX_NAME_1;
    Alter Table TABLE_NAME Drop Primary Key;
    Alter Table TABLE_NAME Add Constraint PK_NAME Primary Key (COL1);
    Alter Table TABLE_NAME Add Constraint UK_NAME Unique (COL4, COL3);
    Alter Table TABLE_NAME Drop Constraint UK_NAME; 
    --or Alter Table TABLE_NAME Drop Unique (COL4, COL3);
     
    Sequence:
    Create Sequence SEQ_TABLE_NAME Minvalue 1 Maxvalue 999999999999 
          Start 
    With 1 Increment By 1 Cache 20;
    Alter Sequence SEQ_TABLE_NAME Increment By 5;
    Drop Sequence SEQ_TABLE_NAME;
     
    Sample Trigger:
    Create Or Replace Trigger TR4CRM_SYS_ORG
    After 
    Insert Or Delete On SYS_ORG --After Update On SYS_ORG
    Referencing Old As Old New As New
    For Each Row
    Declare
       v_count 
    Number := 0;
    Begin
        
    If Inserting Then --insert command
          Select Count(*Into v_count From SYS_ORG_VIEW Where CHILD_ID=:New.ORG_ID;
          
    If :New.PARENT_ID>0 Then
                  
    --sql code
          End If;
          
    If :New.ORG_IS_VIRTUAL Is Null Or :New.ORG_IS_VIRTUAL=0 Then
              
    --sql code
          End If;
        
    End If;
      
      
    If Updating And :New.ORG_DEL_FLAG<>:Old.ORG_DEL_FLAG Then --update command
           --sql code
      End If;

        
    If Deleting Then --delete command
              Delete From SYS_ORG_VIEW Where PARENT_ID=:New.ORG_ID Or CHILD_ID=:New.ORG_ID;
        
    End If;
    End;
    禁用trigger
    alter table PRD_ITEM disable all triggers;
    alter table PRD_ITEM enable all triggers;
  • 相关阅读:
    B+树的Copy-on-Write设计
    so库链接和运行时选择哪个路径下的库?
    Xapian索引-文档检索过程分析之匹配百分比
    Xapian索引-文档检索过程分析
    Xapian的内存索引-添加文档
    Xapian的内存索引
    Xapian使用入门
    一个std::sort 自定义比较排序函数 crash的分析过程
    编译GCC4.8.2
    使用C++11的一点总结
  • 原文地址:https://www.cnblogs.com/RicCC/p/1226296.html
Copyright © 2020-2023  润新知