怎样给oracle视图加一个主键

怎样给oracle视图加一个主键,第1张

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)

    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

如果是简单视图可以直接插入数据,跟表的 *** 作是一样的;

如果是复杂的试图(视图定义中有分组,聚合函数,多表关联等)不能直接插入数据,可以通过创建一个 INSTEAD 类型的触发器来 *** 作,将要插入的数据插入到组成试图的各个表中 即用你触发器中的具体 *** 作来代替你直接插入数据到视图的 *** 作;


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11382234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存