【Oracle 学习笔记】Day 2 视图、序列、同义词

系统 1679 0

视图

额。。不要笑话我。

我现在才知道视图是可以进行UPDATE的,那当然连DELETE也可以了。汗一个。

这里呢,强调两个后缀。

with check option

with Read only

      
        Create
      
      
        view
      
      
         Materials_view


      
      
        as
      
      
        select
      
      
        *
      
      
        from
      
       Materials 
      
        where
      
       MaterialCode 
      
        like
      
      
        '
      
      
        9%
      
      
        '
      
      
        with
      
      
        check
      
      
        option
      
      
        Go
      
    

噢。。仿佛上面是SQL Server的。。Oracle一样啦.

更新的时候会这样提示的。 Read only 也差不多就不罗列了,貌似SQL SERVER没有啊。以后发现了在补上。

      
        Update
      
       Materials_view 
      
        set
      
       MaterialCode
      
        =
      
      
        '
      
      
        100000002823
      
      
        '
      
      
        where
      
       MaterialID
      
        =
      
      
        '
      
      
        900000002823
      
      
        '
      
      
        --
      
      
        Waring
      
      

消息 
      
        550
      
      ,级别 
      
        16
      
      ,状态 
      
        1
      
      ,第 
      
        2
      
      
         行

试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了 
      
      
        WITH
      
      
        CHECK
      
      
        OPTION
      
      ,而该操作的一个或多个结果行又不符合 
      
        CHECK
      
      
        OPTION
      
      
         约束。

语句已终止。
      
    

 

序列

觉得SQL Server 和Oracle 的关于序列的问题,都各有所长吧。

优缺点都是个人观点。

共同点:可以定义起始位置和步长。

Oracle 优点:可以定义是否循环,那么就可以定义最大值,最小值。 一个表里可以有多个序列字段。

SQL Server 优点:简单,不用显示的Create创建,可以在表里直接增加 Identity( 起始值 , 步长值 )即可。

      
        //
      
      
        SQL Server


      
      
        Create
      
      
        table
      
      
         #temtable

(

    RowID 
      
      
        int
      
      
        identity
      
      (
      
        1
      
      ,
      
        2
      
      
        )

)


      
      
        //
      
      
        Oracle


      
      
        Create
      
       sequence mysequence increment 
      
        by
      
      
        2
      
       start 
      
        with
      
      
        1
      
      
        --
      
      
        Notice
      
      

Oracle序列需要用 NextVal来初始化。。
    

同义词

比较明显的同义词是来自Oracle,大家经常用到dual,实际上是 sys.dual,同义词的概念就是将一个名字用成 用户名.表名称这样的。

当然了,可能还有(架构或者模式)这样的概念,应该也可以。

      
        Create
      
       synonym MaterialCom 
      
        for
      
        scott.Materialcomlinks
    

 

【Oracle 学习笔记】Day 2 视图、序列、同义词


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论