sql >> データベース >  >> RDS >> Oracle

Oracleでユーザーとテーブル名の組み合わせに引用符で囲まれた識別子を使用するにはどうすればよいですか?

    quotedを使用してテーブルを作成した場合識別子 、その後は常に二重引用符を使用する必要があります オブジェクトを参照する場所はどこでも。

    ドキュメントから

    たとえば、

    SQL> CREATE TABLE "USER"(A NUMBER);
    
    Table created.
    
    SQL>
    SQL> SELECT COUNT(*) FROM LALIT.USER;
    SELECT COUNT(*) FROM LALIT.USER
                               *
    ERROR at line 1:
    ORA-00903: invalid table name
    
    
    SQL>
    SQL> SELECT COUNT(*) FROM LALIT."USER";
    
      COUNT(*)
    ----------
             0
    
    SQL>
    

    したがって、テーブルを引用された識別子として参照する必要があります :

    SELECT COUNT(*) FROM SYS0MYUSER."USER";
    

    更新 OPはテーブルエイリアスに関する質問を更新しました。

    テーブルエイリアス 引用された識別子とは何の関係もありません。

    たとえば、

    SQL> SELECT t.* FROM LALIT."USER" t;
    
    no rows selected
    
    SQL>
    


    1. Doctrine 2 SUM()と同等のヘルパー?

    2. PostgreSQLでのAcosh()のしくみ

    3. 文字セットのエンコーディングとストレージサイズの要素

    4. Doctrine 2でQueryBuilderを使用してSELECTサブクエリでLEFTJOINを作成するにはどうすればよいですか?