博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
powerdesigner设置表主键列为自动增长。
阅读量:5844 次
发布时间:2019-06-18

本文共 1959 字,大约阅读时间需要 6 分钟。

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://ouqcx.baihongyu.com/

你可能感兴趣的文章
git请求报错 401
查看>>
动态追踪技术(四):基于 Linux bcc/BPF 实现 Go 程序动态追踪
查看>>
Cyber-Security: Linux 容器安全的十重境界
查看>>
监控工具htop的安装及使用
查看>>
Nodejs使用图灵机器人获取笑话
查看>>
【读书笔记】第三章 大型网站核心架构要素
查看>>
jvm参数设置
查看>>
易宝典文章——玩转Office 365中的Exchange Online服务 之十三 怎样管理Exchange Online的邮件用户和联系人...
查看>>
nexus 从Window迁移至Linux
查看>>
Spring 任务调度 简单的,使用Schedule
查看>>
通過OPENSHIFT進行DJANGO開發
查看>>
数据库union ,和union all
查看>>
SQL 2005删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突。)的解决...
查看>>
获取帮助
查看>>
7.4.4 IPv6的地址空间及其表示方法
查看>>
【Touch&input 】支持多个游戏控制器(18)
查看>>
2014年云计算五大趋势
查看>>
我的友情链接
查看>>
Java新手看招 常用开发工具介绍
查看>>
Windows Server 2008更改用户的环境变量和系统环境变量
查看>>