在SQL DROP VIEW语句

时间:2017-07-11 10:45:17

标签: sql sql-drop

是声明:

DROP VIEW <view-name>

有效的sql92语法?在某些数据库(例如Postgres,Redshift)中,可以选择明确定义丢弃行为

DROP VIEW <view-name> [RESTRICT|CASCADE]

对于其他人而言,这是强制性的(例如Netteza)

DROP VIEW <view-name> {RESTRICT|CASCADE}

或根本不支持语法(例如Transact-sql)。

有关丢弃行为的drop view语法的sql92标准是什么状态? 我没有找到任何提及在sql92语法中删除行为。

3 个答案:

答案 0 :(得分:1)

您可以查看wiki article。在底部,在&#34; 外部链接&#34;你可以找到SQL-92 standard。向下滚动到&#34; X3H2-92-154 / DBL CBR-002,11.20 &#34;在那里你可以找到:

     <drop view statement> ::=
          DROP VIEW <table name> <drop behavior>

        Note: If CASCADE is specified, then any such dependent object
        will be dropped by the execution of the <revoke statement> spec-
        ified in the General Rules of this Subclause.

答案 1 :(得分:1)

ANSI-92标准中将RESTRICTCASCADE都提到了第11.20节<drop behavior>限定符

  

如果指定了RESTRICT,则不应引用V               任何视图描述符或任何断言描述符或约束描述符的

     

注意:如果指定了CASCADE,那么任何此类依赖对象               将通过执行规范而放弃               在本子条款的一般规则中。

在此处搜索<drop behavior>,第6次出现在视图中 https://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt

答案 2 :(得分:-1)

是符合SQL 92标准,语法为

<drop view statement> ::=
              DROP VIEW <table name> <drop behavior>
  

语法规则

     

1)设V是由VN标识的表       是的。由显式或。标识的模式       VN的隐式模式名称应包括V的描述符。

     

2)V应为查看表。

     

3)如果指定了RESTRICT,则不应引用V.       任何视图描述符或任何断言描述符或约束描述符。

Note: If CASCADE is specified, then any such dependent object
will be dropped by the execution of the <revoke statement> spec-
ified in the General Rules of this Subclause.
     

访问规则

     

1)电流应等于        拥有由...标识的模式       由VN确定的表格。

     

一般规则

     

1)设A为当前。下列        有效地执行&#34; _SYSTEM&#34;没有进一步的访问       规则检查:

  REVOKE ALL PRIVILEGES ON VN FROM A CASCADE
     

2)已识别的视图及其描述符将被销毁。

     

均衡规则

     

1)以下限制适用于中间SQL:

  None.
     

2)以下限制适用于Entry SQL       任何中级SQL限制:

a) Conforming Entry SQL language shall not contain a <drop view
  statement>.