<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # ALTER FOREIGN TABLE ## Name ALTER FOREIGN TABLE?--?修改外部表的定義 ## Synopsis ``` ALTER FOREIGN TABLE [ IF EXISTS ] _name_ _action_ [, ... ] ALTER FOREIGN TABLE [ IF EXISTS ] _name_ RENAME [ COLUMN ] _column_name_ TO _new_column_name_ ALTER FOREIGN TABLE [ IF EXISTS ] _name_ RENAME TO _new_name_ ALTER FOREIGN TABLE [ IF EXISTS ] _name_ SET SCHEMA _new_schema_ 這里 `_action_` 是下列之一: ADD [ COLUMN ] _column_name_ _data_type_ [ COLLATE _collation_ ] [ _column_constraint_ [ ... ] ] DROP [ COLUMN ] [ IF EXISTS ] _column_name_ [ RESTRICT | CASCADE ] ALTER [ COLUMN ] _column_name_ [ SET DATA ] TYPE _data_type_ ALTER [ COLUMN ] _column_name_ SET DEFAULT _expression_ ALTER [ COLUMN ] _column_name_ DROP DEFAULT ALTER [ COLUMN ] _column_name_ { SET | DROP } NOT NULL ALTER [ COLUMN ] _column_name_ SET STATISTICS _integer_ ALTER [ COLUMN ] _column_name_ SET ( _attribute_option_ = _value_ [, ... ] ) ALTER [ COLUMN ] _column_name_ RESET ( _attribute_option_ [, ... ] ) ALTER [ COLUMN ] _column_name_ OPTIONS ( [ ADD | SET | DROP ] _option_ ['_value_'] [, ... ]) OWNER TO _new_owner_ OPTIONS ( [ ADD | SET | DROP ] _option_ ['_value_'] [, ... ]) ``` ## 描述 `ALTER FOREIGN TABLE` 修改一個外部表的定義。這里有好幾種形式: `ADD COLUMN` 這種形式為外部表增加一個字段,語法同[CREATE FOREIGN TABLE](#calibre_link-0)。 與向常規表增加字段不同,外部表增加字段不會引起存儲空間的變化,這種操作簡單地聲明了外部表是可獲得這些新字段。 `DROP COLUMN [ IF EXISTS ]` 這種形式刪除外部表的一個字段。如果表中的該字段被該表之外的其他對象依賴, 那就需要增加`CASCADE`;比如依賴該字段的視圖。 如果指定了`IF EXISTS`,則在字段不存在時也不會 報錯,只是產生一個注意信息。 `IF EXISTS` 如果外部表不存在,不會報錯,而是產生一個注意信息。 `SET DATA TYPE` 這種形式修改一個外部表字段的數據類型。 `SET`/`DROP DEFAULT` 這種形式為一個字段設置或者刪除缺省值。缺省值只應用于隨后的 `INSERT`或`UPDATE`命令; 它們不會導致已經在表中的數值的修改。 `SET`/`DROP NOT NULL` 標志一個字段是否允許為空值。 `SET STATISTICS` 這個形式為隨后的[ANALYZE](#calibre_link-589)操作設置每字段的統計收集目標。 更多細節請參考類似形式的[ALTER TABLE](#calibre_link-88) `SET (` `_attribute_option_` = `_value_` [, ... ] ) `RESET (` `_attribute_option_` [, ... ] ) 這種形式設置或重設每一個屬性選項,更多細節,參考[ALTER TABLE](#calibre_link-88) `OWNER` 這個形式改變外部表的所有者為指定所有者 `RENAME` `RENAME`形式改變一個外部表的名字或者是外部表中一個獨立字段的名字。 `SET SCHEMA` 這種形式把外部表從一個模式移植到另一個模式。 `OPTIONS ( [ ADD | SET | DROP ]` `_option_` ['`_value_`'] [, ... ] ) 改變外部表或者外部表字段的選項。`ADD`, `SET`, 和`DROP` 指定執行的操作。 如果沒有顯式設置操作,那么默認就是ADD。選項的名字不允許重復(盡管表選項和表字段選項可以有相同的名字)。 選項的名稱和值也會通過外部數據封裝器的類庫庫進行校驗。 除 `RENAME` 和`SET SCHEMA`之外的操作都可以寫組合在一起,同時執行。 例如,在單一一條命令中,可以添加多個列和(或者)修改多個列的數據類型。 你必須是表的所有者才能使用`ALTER FOREIGN TABLE`命令。 要修改外部表的模式,必須在被修改的新模式中擁有`CREATE`權限。 要改變外部表的所有權,你必須是新角色的直接或間接成員,并且這個新角色必須在該表的模式上具有 `CREATE` 權限。(這強制限制在進行更改所有者的操作時,如果無法通過刪除后重建表的方式完成,那么就不能做任何事。不過,超級用戶可以用任何方法任意更改表的所有者。) 要增加一個字段或修改一個字段類型,必須在數據類型上有`USAGE` 權限 ## 參數 `_name_` 待修改的已存在外部表的名字(可以用模式修飾)。 `_column_name_` 現存或新的字段名稱。 `_new_column_name_` 字段的新名稱 `_new_name_` 表的新名稱 `_data_type_` 新字段的類型,或者現存字段的新類型。 `CASCADE` 自動刪除依賴于被刪除字段的對象 (比如,引用該字段的視圖)。 `RESTRICT` 如果有依賴于此字段的對象,則拒絕刪除該字段。這是缺省行為。 `_new_owner_` 該表的新所有者的用戶名。 `_new_schema_` 表將要移植到的新的模式名稱 ## 注意 關鍵字 `COLUMN` 是多余的,可以省略。 通過`ADD COLUMN`添加字段,或通過`DROP COLUMN`刪除字段, 或通過添加`NOT NULL`進行約束,或通過`SET DATA TYPE`修改字段的數據類型, 都不會檢查數據一致性。確保表定義和遠端表定義相匹配是用戶的責任。 參考[CREATE FOREIGN TABLE](#calibre_link-0) 部分獲取更多有效參數的描述。 ## 示例 設定一個字段不為空: ``` ALTER FOREIGN TABLE distributors ALTER COLUMN street SET NOT NULL; ``` 修改外部表的選項: ``` ALTER FOREIGN TABLE myschema.distributors OPTIONS (ADD opt1 'value', SET opt2, 'value2', DROP opt3 'value3'); ``` ## 兼容性 `ADD`,`DROP` 和 `SET DATA TYPE` 這三種形式符合SQL標準。 其他形式是PostgreSQL的擴展。另外,一個`ALTER FOREIGN TABLE`命 令中設置多個操作的功能也是擴展。 `ALTER FOREIGN TABLE DROP COLUMN` 可以刪除外部表中的僅有的唯一一個列, 刪除之后就是一個無字段的表。這個特性是PostgreSQL的擴展,標準SQL中不允許字段的表。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看