oracle视图建主键

一个项目要求视图建主键,下面是一个例子

CREATE or replace VIEW SME_V_A....  (AGENTID,AGENTNAME,BUSYNUM,RESTNUM,RESTTIME,DEVICENONUM,DEVICENOSUM

,CONSTRAINT AGENTSTATIC_PK PRIMARY KEY (AGENTID) RELY DISABLE NOVALIDATE)

AS

SELECT A.AGENTID as AGENTID, ---座席编号

(SELECT B.OPERATOR_NAME

FROM CC_AGENT_INFO B

WHERE B.WORK_NO = A.AGENTID) AS AGENTNAME, ----坐席姓名

NVL(SUM(C.BUSYNUM), 0) AS BUSYNUM, -----示忙次数

NVL(SUM(C.RESTNUM), 0) AS RESTNUM, ------休息次数

NVL(SUM(C.RESTTIME), 0) AS RESTTIME, ------休息时长(分钟)

NVL(D.DEVICENO_NUM, 0) AS DEVICENONUM, -------接话总量

NVL(D.DEVICENO_SUM, 0) AS DEVICENOSUM-------接话总时长

FROM CC_V_.....   A

LEFT JOIN 。。。。。。

LEFT JOIN 。。。。。。

GROUP BY A.AGENTID, D.DEVICENO_NUM, D.DEVICENO_SUM;

查看是否已经存在主键

select a.constraint_name, a.column_name
  from user_cons_columns a, user_constraints b
 where a.constraint_name = b.constraint_name
   and b.constraint_type = 'P'
   and a.table_name = 'SME_V_A....'

oracle视图建主键

时间: 2024-10-19 18:15:00

oracle视图建主键的相关文章

Oracle创建主键自增表

Oracle创建主键自增表 1.创建表 create table Test_Increase( userid number(10) NOT NULL primary key,  /*主键,自动增加*/ username varchar2(20) ); 2.创建自动增长序列 CREATE SEQUENCE TestIncrease_Sequence INCREMENT BY 1   -- 每次加几个 START WITH 1     -- 从1开始计数 NOMAXVALUE       -- 不设

Oracle 创建主键自增表

200 ? "200px" : this.width)!important;} --> 介绍 本篇文章主要介绍在oracle中如果创建自增长表,这里要用到序列. create table tb_student ( id NUMBER(10) not null, createtime DATE not null, constraint PK_tb_student primary key (id) ); comment on table "tb_student"

oracle创建主键序列和在ibatis中应用

oracle创建主键序列 oracle主键序列的查询和ibitas中应用

oracle建表的时候同时创建主键,外键,注释,约束,索引

--主键create table emp (id number constraint id_pr primary key ,name1 varchar(8));create table emp9 (id number ,name1 varchar(8) ,constraint aba_pr primary key(id,name1));--外键create table emp1(id number references emp(id),name varchar(8)); --复合外键create

Oracle视图详解

转载自:http://blog.itpub.net/29785807/viewspace-1270120/ 一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑定义.每次使用的时候,只是重新执行SQL. 视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中.那些用于产生视图的表叫做该视图的基表.一个视图也可以从另一个视图中产生. 视图的定义存在数据库中,与此定义相关的数据并没有再存一份于数据库中.通

Oracle之主键(Primary Key)用法详解

Oracle/PLSQL: 主键(Primary Key)用法 1 目标 通过示例讲解如何创建.删除.禁用和开启主键. 2 前言之-什么是主键 在Oracle中,主键指能唯一标识一条记录的单个数据表列或联合的数据表列(联合主键|复合主键).主键用到的数据表列数据不能包含空值.而且,一张表只能包含一个主键. 说明:在Oracle数据库中,联合主键的列不能超过32个.主键可以在创建表时定义或者通过ALTER TABLE语法定义. 3 创建主键之 - 在创建表时定义主键 单列主键示例: CREATE

oracle 建立主键与索引【转】

此文转自:http://blog.sina.com.cn/s/blog_439f80c4010094n1.html 创建主键: alter table T add primary key (V) T是表名,V是列名 创建索引: create index F2009100000NMINFOSYS_XIANG on f2009100000nminfo( SYS_XIANG );创建一般索引,索引名为表名+列名 create unique index F2009100000NMINFOSYS_ZDM 

数据库中创建表(包括创建主键,外键,非空列,唯一)

创建表(包括创建主键,外键,非空列,唯一) - PROS - 博客园 http://www.cnblogs.com/CodingArt/articles/1621921.html **************** 创建主键(三种方法) **************** 创建学生表: 第一种: create table student (sno char(5) primary key,/*学号*/ /*可以直接指定主键*/ sname char(20) not null,/*姓名*/ ssex c

Oracle通过主键id删除记录很慢

问题描述: Oracle通过主键id删除2000条记录很慢,需要花费十二分钟. 解决过程: 1.首先查看SQL的执行计划,执行计划正常,cost只有4,用到了主键索引. 2.查看等待事件, select * from v$session_wait where sid = 507 显示的event是db file sequential read,也没有异常. 3.查看统计信息是否正常 select * from user_tables where table_name = ''; 经检测,统计信息