簡體   English   中英

更改表 SQL Oracle - 12c

[英]ALTER TABLE SQL Oracle - 12c

我們對以下答案感到困惑。所以我們的答案是 3、5

使用 ALTER TABLE 命令可以執行哪三個操作?

1- 鎖定表中的一組行。

2- 從表中刪除偽列。

3- 重命名表。

4- 同時從表中刪除所有列。

5- 啟用或禁用對表的約束。

6- 限制表上的所有 DML 語句。

謝謝

3、5 和 6


  1. 鎖定表中的一組行。

    Oracle 鎖定它正在執行 DML 的行或當您使用SELECT ... FOR UPDATE 您不能使用ALTER TABLE鎖定行。

  2. 從表中刪除偽列。

    表的常見列是ROWIDROWNUMORA_ROWSCN 你不能放棄這些。

  3. 重命名表。

     CREATE TABLE table_name ( a NUMBER, b NUMBER ); ALTER TABLE table_name RENAME TO other_name;

    作品。

  4. 同時從表中刪除所有列。

     CREATE TABLE table_name ( a NUMBER, b NUMBER ); ALTER TABLE table_name DROP ( a, b );

    輸出:

     ORA-12983: cannot drop all columns in a table
  5. 在表上啟用或禁用約束。

     CREATE TABLE table_name ( a NUMBER CONSTRAINT qu5__pk PRIMARY KEY, b NUMBER ); ALTER TABLE table_name MODIFY PRIMARY KEY DISABLE;

    將禁用約束。

  6. 限制表上的所有 DML 語句。

     CREATE TABLE table_name ( a NUMBER, b NUMBER ); ALTER TABLE table_name READ ONLY;

    然后

    INSERT INTO table_name ( a, b ) VALUES ( 1, 1 ); UPDATE table_name SET b = 2; DELETE FROM table_name;

    全部失敗,但有例外:

     ORA-12081: update operation not allowed on table "SCHEMA_NAME"."TABLE_NAME"

db<> 在這里擺弄

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM