zoukankan      html  css  js  c++  java
  • powerdesigner设置表主键列为自动增长。

    powerdesigner 版本12.5

     

    创建表就不说了。下面开始介绍设置自动增长列。

     

    1 在表视图的列上创建。
    双击表视图,打开table properties ———>columens ,
    双击要设置的列(显示列的序号的那个按钮,单击后,会显示横向的黑色箭头)。
    打开column properties 对话框。

    在 ‘general’ 项中 的最下面,找到 sequence下拉框 ,后面有三个按钮就 ‘create’,‘select’,‘properties’。

    新建的话就点击‘create' 打开 sequence properties 对话框,general 中的name, code 随意修改
    切换到 physical options 项,输入下面几项内容
    start with 1
    increment by 1
    minvalue 1
    maxvalue 根据自己需要决定是否要设定。没有的话,选择 no max value
    no cache 勾选

    输入完后,点击应用。创建完毕。在 preview 中 可以看到相应的创建代码
    同时,在table properties———>preview 的创建代码中,自动加入了 触发器trigger 的创建代码。
    创建完成。

    使用:

    到table properties———>preview 中拷贝table 的创建代码,复制到plsql中执行。


    提示:

    不知道是我的powerdesigner 设置问题,还是怎么回事,table 的创建代码中没有自动加入 sequence 的创建部分。
    所以,还要到sequence properties ———>preview 中,把sequence的创建代码拷贝到 表创建的代码中
    放到 cteate table .... 和 create trigger ...中间


    例如:
    create table G_EC_LotteryCategory  (
       lcId               NUMBER(3)                       not null,
       lcName             NVARCHAR2(30),
       lcAbbr             NVARCHAR2(20),
       constraint PK_G_EC_LOTTERYCATEGORY primary key (lcId)
    )
    /

    create sequence Sequence_LotCateID
    increment by 1
    start with 1
     nomaxvalue
     minvalue 1
     nocache;


    create trigger tib_g_ec_lotterycategory before insert
    on G_EC_LotteryCategory for each row
    declare
        integrity_error  exception;
        errno            integer;
        errmsg           char(200);
        dummy            integer;
        found            boolean;

    begin
        --  Column lcId uses sequence Sequence_LotCateID
        select Sequence_LotCateID.NEXTVAL INTO :new.lcId from dual;

    --  Errors handling
    exception
        when integrity_error then
           raise_application_error(errno, errmsg);
    end;
    /
    在plsql 中执行上端代码。创建表;
    添加记录测试;
    insert into G_EC_LotteryCategory(lcName,lcAbbr) values('1','1');
    insert into G_EC_LotteryCategory(lcName,lcAbbr) values('2','2');

    查询后,看到的的id列是自动增长的。

    2 先创建,然后在列的sequence 项中选择。
     在 powerdesigner 左边的树中,你的model 项目的子菜单中有 sequence ,右键点击——> new
     打开 sequence properties 对话框,添加内容上面的方法类似。
     完场后,还是到表视图中,双击列名,打开column properties 对话框。
     general——> sequence 的下拉框中就出现了刚才创建的 sequence ,选中,保存即可。
     
     以上方式适用于oracle数据库。

     

    如果是创建的是mysql数据库模型,打开table properties,选择columens双击,在 ‘general’ 项中 , 有个 identity 的复选框,勾选即可。

    原文:http://blog.csdn.net/lifeng_beijing/article/details/5776490

  • 相关阅读:
    Javac配置环境变量01
    jmeter压测学习-发soap请求测试webservice
    Faker 安装与介绍
    docker使用nginx部署spring项目
    Linux查看端口占用情况
    Cesium 中两种添加 model 方法的区别
    Cesium 动态更换模型贴图方法
    Node.js API 学习笔记
    一步步建立 Vue + Cesium 初始化项目
    python3 解析 base64 数据
  • 原文地址:https://www.cnblogs.com/langtianya/p/3167671.html
Copyright © 2011-2022 走看看