首頁 > 資料庫 > mysql教程 > Oracle 的「SELECT INTO」與標準 SQL 有何不同?

Oracle 的「SELECT INTO」與標準 SQL 有何不同?

Mary-Kate Olsen
發布: 2025-01-04 17:08:41
原創
675 人瀏覽過

How Does Oracle's `SELECT INTO` Differ from Standard SQL, and What are the Workarounds?

Oracle 對SELECT INTO 的獨特解釋

雖然SELECT INTO 的標準SQL 語法涉及創建一個新表並用來自現有表,Oracle的實現有很大不同。

錯誤遇到:

嘗試在Oracle 中執行標準SELECT * INTO new_table FROM old_table 時,可能會遇到「缺少關鍵字」錯誤(ORA-00905 )。這是因為 Oracle 執行相同操作的語法需要不同的方法。

Oracle 建立新資料表並填入資料的語法:

要成功執行 SELECT INTO Oracle,你有幾個選擇:

  1. 如果新表已經存在:

    使用 INSERT INTO語句:

    INSERT INTO new_table
    SELECT *
    FROM old_table;
    登入後複製
  2. 如果您想要根據某個記錄建立一個新表現有表:

    使用 CREATE TABLE ... AS SELECT語句:

    CREATE TABLE new_table AS
    SELECT *
    FROM old_table;
    登入後複製
  3. 如果目的是建立一個新的空表:

    新增一個 WHERE子句,其條件可以永遠不會true:

    CREATE TABLE new_table AS
    SELECT *
    FROM old_table
    WHERE 1 = 2;
    登入後複製

重要注意事項:

  • CREATE TABLE ... AS SELECT 語句僅建立一個表,其中包含與來源表相同的投影。
  • 新表不會有任何約束、觸發器或從原始表繼承的索引。

以上是Oracle 的「SELECT INTO」與標準 SQL 有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板