ホームページ > データベース > mysql チュートリアル > Oracle の「SELECT INTO」は標準 SQL とどう違うのでしょうか?また、その回避策は何ですか?

Oracle の「SELECT INTO」は標準 SQL とどう違うのでしょうか?また、その回避策は何ですか?

Mary-Kate Olsen
リリース: 2025-01-04 17:08:41
オリジナル
641 人が閲覧しました

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

SELECT INTO の Oracle 独自の解釈

SELECT INTO の標準 SQL 構文では、新しいテーブルを作成し、そこにテーブルからのデータを移入します。既存のテーブルとは異なり、Oracle の実装は大きく異なります。

エラー検出されました:

Oracle で標準の SELECT * INTO new_table FROM old_table を実行しようとすると、「キーワードがありません」エラー (ORA-00905) が発生する場合があります。これは、同じ操作を実行する Oracle の構文では異なるアプローチが必要であるためです。

新しいテーブルを作成してデータを設定するための Oracle の構文:

で SELECT INTO を正常に実行するにはオラクル、いくつかのオプションがあります:

  1. If新しいテーブルはすでに存在します:

    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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート