oracle是可以为视图加主键,写法: create or replace view mylist(myid,insize,outsize,statrtime,endtime,jobid,imeiid,ip,useragent UNIQUE RELY DISABLE NOVALIDATE,CONSTRAINT id_pk PRIMARY KEY (myid) RELY DISABLE NOVALIDATE)
创新互联建站主营西充网站建设的网络公司,主营网站建设方案,成都App制作,西充h5小程序定制开发搭建,西充网站营销推广欢迎西充等地区企业咨询
as
select job.dm_session_id as myid,
http.dm_request_size as insize,
http.dm_response_size as outsize,
job.begin_time_stamp as statrtime,
job.end_time_stamp as endtime,
job.job_id as jobid,
job.device_external_id as imeiid,
http.client_ip as ip,
http.user_agent as useragent
from V_DM_TRACKING_LOG_JOB_SUM job,DM_TRACKING_LOG_HTTP http where job.Dm_Session_Id=http.dm_session_id
1.创建表时:
create table table_name
(
first_name varchar2(12),
second_name varchar2(10),
idcard varchar(36),
home_name varchar(66),
constraint pk_table_name primary key(first_name,second_name,idcard) -- 联合主键
);
2.创建表之后追加联合主键
alter table table_name add constraint pk_table_name primary key (first_name,second_name);
工具/材料
SQL Developer
01
首先打开SQL Developer软件,找一个没有主键约束的表,如下图所示
02
然后我们新建一个查询,在界面中输入如下的约束修改语句,如下图所示,主要通过add constranint来添加约束
03
编写完约束添加语句以后,点击工具栏中的执行按钮,如下图所示,如果输出栏显示已变更则证明主键约束创建成果
04
然后我们进入STUDENT表的约束添加页中可以看到,我们加的主键约束已经添加进去了,如下图所示
05
另外,创建表的时候可以直接添加主键约束,如下图所示,直接在表创建语句中添加constraint即可
06
表创建完以后,记得在左侧刷新数据库信息,如下图所示,因为你创建的信息不刷新的话不会更新
07
最后打开你所创建的表,看到你添加的主键约束已经加入进来了,这种方式的效果alter的方式是一样的
1、创建表的同时创建主键约束
(1)无命名
create
table
student
(
studentid
int
primary
key
not
null,
studentname
varchar(8),
age
int);
(2)有命名
create
table
students
(
studentid
int
,
studentname
varchar(8),
age
int,
constraint
yy
primary
key(studentid));
2、删除表中已有的主键约束
(1)无命名
可用
SELECT
*
from
user_cons_columns;
查找表中主键名称得student表中的主键名为SYS_C002715
alter
table
student
drop
constraint
SYS_C002715;
(2)有命名
alter
table
students
drop
constraint
yy;
3、向表中添加主键约束
alter
table
student
add
constraint
pk_student
primary
key(studentid);