1. ホーム
  2. sql

[解決済み] エラーです。ORA-04043: オブジェクト・テーブル名が存在しない(SQL コマンドラインから特定のユーザー・ワークステーション内の任意のテーブルを記述する場合

2022-02-17 23:19:04

質問事項

SQLコマンドラインからOracle DBにテーブルを作成したのですが、テーブルを記述するときに問題があります。

私の持っているオラクルのバージョンは以下の通りです。 SQL*Plusです。リリース 11.2.0.2.0 プロダクション

以下は、データベース内にテーブルを作成するために使用したコマンドです。

CREATE TABLE  "Product" 
(   "ProuctID" VARCHAR2(8) NOT NULL ENABLE, 
    "ProductExpiryDate" DATE, 
    "CustomerID" VARCHAR2(8), 
     CONSTRAINT "Product_PK" PRIMARY KEY ("ProductID") ENABLE
) ;

テーブルを記述するためのコマンドです。

Desc Product;

しかし、各テーブルを作成し、それを記述した後、最後にこのようなことが起こります。 ORA-04043: オブジェクト Product does not exist

Oracle XpressのWebページで確認できるのに、なぜこのような現象が起こるのか、どなたか教えていただけませんか?

解決方法を教えてください。

テーブル名をダブルクォートで囲むことで、大文字と小文字を区別した名前を持つテーブルを作成しました。この名前を正しく指定するには、次のようにします。 常に を二重引用符で囲んでください。

そのため、代わりに Desc Product を使用する必要があります。 Desc "Product" .

これはかなり面倒で、エラーが発生しやすいので、通常は、そもそもテーブル名やカラム名を二重引用符で囲むことを避けるのがベストです。可能であれば、テーブルを削除するか、再作成するか、名前を変更することをお勧めします。