您的位置:首页 > 其它

powerdesigner 设置唯一约束

2013-05-17 19:27 183 查看
作者:yan



代码生成:

/*==============================================================*/

/* Index: "UQ_providerid" */

/*==============================================================*/

create unique index "UQ_providerid" on "tab" (

"xx" ASC,

"xxx" ASC,

"xxxx" ASC,

"xxxxx" ASC

);



代码生成:

/*==============================================================*/

/* Table: "jg_emp_jobgrade" */

/*==============================================================*/

create table "jg_emp_jobgrade" (

"id" CHAR(32) not null,

"emp_id" CHAR(32),

"jg_id" CHAR(32),

"jobfamily_branch_id" CHAR(32),

"job_grade" varchar(32),

constraint PK_JG_EMP_JOBGRADE primary key ("id"),

constraint AK_KEY_2_JG_EMP_J unique ("emp_id", "jg_id", "jobfamily_branch_id")

);

Oracle 10g中unique与index的问题

create table test

(

x integer,

y integer,

z integer

);

alter table test add constraint primary key (x); --产生一个约束,并产生一个同名索引

create unique index index01 on test(x,y);

--create unique index index02 on test(x,y); --不允许完全相同的索引,即使索引名称不同

create unique index index03 on test(y,z);

create unique index index04 on test(z,y); --index04 是与index03互不相同的索引

alter table test add constraint cons01 unique(x,y,z) ; --产生一个约束,并自动产生一个名为cons01 的UNIQUE索引

alter table test add constraint cons01 unique(x,y) ; --产生一个约束,但因与index01 重复(自动产生的索引不区分顺序),因此不能自动产生索引

alter table test add constraint cons01 unique(y,x) ; --产生一个约束,但因与index01 重复,因此不能自动产生索引

--create unique index cons01 on test(x,y); --不能执行,因为索引cons01 已经被约束cons01 自动创建的索引占用

alter table test add constraint cons012 check (x>100);

alter table test add constraint cons013 check (x>100); --check可以内容完全相同

处理办法:

提取所有约束(UCPR)

提取名称不在约束表中的所有索引
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: