PowerDesigner连接Oracle数据库建表序列号实现自动增长

原文:PowerDesigner连接Oracle数据库建表序列号实现自动增长

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

 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 ,选中,保存即可。

时间: 2016-04-11

PowerDesigner连接Oracle数据库建表序列号实现自动增长的相关文章

oracle-创建工具类连接Oracle数据库时报错

问题描述 创建工具类连接Oracle数据库时报错 属性文件:db.properties jdbc.driver = oracle.jdbc.OracleDriver jdbc.url = jdbc:oracle:thin:@localhost:1521:orcl jdbc.user = c##saturn jdbc.password = saturn 连接数据库的工具类:DBUtility.java import java.io.IOException; import java.sql.*; i

oracle-C# 的EF框架怎么连接Oracle数据库

问题描述 C# 的EF框架怎么连接Oracle数据库 C# 的EF框架怎么连接Oracle数据库 最好有一步步的截图教程.谢谢各位了,研究了好久都不会. 再给个单表操作的增删改查就更完美的.注意哦,是EF框架连接Oracle数据库哦. 解决方案 安装odp.net ODP.NET你不需要安装Oracle,不需要配置oracle.key文件,不需要配置TnsNames.Ora文件 不需要配置环境变量:完全的傻瓜式的在没有安装oracle数据库或者 客户端等任何oracle的产品的机器去访问Orac

JSP连接ORACLE数据库时注意的一些问题

js|oracle|数据|数据库|问题 一.如何去处理Clob.BLOB的大类型 CLOB可用于存放大文本数据,最多可存储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据: getCharacterStream() 方法返回按unicode编码的输入流(java.io.Reader对象) getAsciiStream() 方法返回按ASCII编码的输入流(java.io.InputStream对象) 所以如果你的数据库中有可能存储中文

mysql-分类配对的数据库建表问题

问题描述 分类配对的数据库建表问题 请教各位大神: 本人想在mysql数据库中建立一套表,类似于配对,一边有5个选项,另一半有14个选项,每次分别从两边各取一个数据 , 组成一对,存入数据库中,请问如何实现比较好 ,方便请给出代码 谢谢 解决方案 笛卡尔积方式,随机数方式总有一种可以满足你要求. 解决方案二: 直接两个表join连接,然后你随即取一个结果存入数据库来实现随机配对

ado-c++ ADO 连接ORACLE 数据库 windows系统验证方式连接老是失败.

问题描述 c++ ADO 连接ORACLE 数据库 windows系统验证方式连接老是失败. 开发过程中要用C++ 连接oracle 数据库,但是由于数据库的密码不知道,所有用系统验证的方式连接数据库,但是查询了网上的各种资料,一直都无法连接上数据库. 参考到的资料有.http://www.codeproject.com/Articles/2304/ADO-Connection-Strings http://www.connectionstrings.com/oracle/ 代码: OLE DB

ThinkPHP 连接Oracle数据库的详细教程[全]_php实例

一. 操作环境搭建 系统:Windows7 旗舰版 64位PHP环境:wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24  32位版下载地址:http://www.wampserver.com/en/ ThinkPHP:3.0正式版下载地址:http://thinkphp.cn/down.html Oracle:Orcale_11gR2  32位版下载地址:http://www.oracle.com/technetwork/cn/indexes/dow

ThinkPHP连接Oracle数据库_php技巧

一.操作环境搭建 系统:Windows7 旗舰版 64位 PHP环境:wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24 32位版 下载地址:http://www.jb51.net/softs/161568.html ThinkPHP:3.2.3正式版 下载地址:http://thinkphp.cn/down.html Oracle:Orcale_11gR2 32位版 下载地址:http://www.oracle.com/technetwork/cn/

java 查询oracle数据库所有表DatabaseMetaData的用法(详解)_java

一 . 得到这个对象的实例 Connection con ; con = DriverManager.getConnection(url,userName,password); DatabaseMetaData dbmd = con.getMetaData(); 二. 方法getTables的用法 原型: ResultSet DatabaseMetaData.getTables(String catalog,String schema,String tableName,String []type

java连接Oracle数据库的方法解析_java

Oracle数据库先创建一个表和添加一些数据 1.先在Oracle数据库中创建一个student表: create table student ( id number(11) not null primary key, stu_name varchar(16) not null, gender number(11) default null, age number(11) default null, address varchar(128) default null ); 2.向表中增添一些数据