
No.4ベストアンサー
- 回答日時:
alter table 表名
drop column 列名;
はOracleのバージョン8.1.5からです。
それ以前の場合は表を再作成します、
まず、既存の表名を変更して、
create table as select します。その際に削除したい列は抜かします。
1.rename 既存の表名 to 新しい表名;
2.create table 既存の表名
as select 必要な列のみ記述 from 新しい表名;
ただ、注意点としては「再作成」ですので、制約はNOT NULL以外全てなくなります。
この回答への補足
バージョンは8.16です。いろいろ試したのですができません。 とりあえずbourbonさんの解答を参考にしてなんとか思う通りのことは出来ました。列を削除できないことでなにか心当たりがありましたらお願いします。
補足日時:2003/01/16 17:04No.6
- 回答日時:
うーん、なるほど・・・。
初めて見ました。。。
申し訳ないんですが、環境を聞かせてもらってもいいですか?
OSとかOracleのVersionなど、分かる範囲で構いませんので、
お願いします。
ちょっと調べてみます。
よろしくお願いします。
何度も回答ありがとうございます。
本当にすいません!!
以前Versionを8.16と補足したのですが・・・
改めて管理担当者に問い合わせたところ8.05ということでした。
もうすでに良回答もらってたんですね、こちらの認識不足でbourbonさんにいらぬ手間をお掛けしてしまいましたね。
もっと慎重に質問しなくてはと反省しております。
超初心者なのでこれからもいろいろと質問することもあると思いますが、またお願いします。
No.5
- 回答日時:
ORA-00905のエラーは構文に必須項目が抜けているために起こるエラーです。
なので、構文通りにSQL文を記述できていない可能性があります。
ですので、
alter table 表名 drop column 列名;
と構文通りに記述して頂ければ、削除はできると思います。
質問されているコメント欄には間違った構文が掲載されていますので↓
> Sql*pLUS画面
> SQL> alter table test drop(retu); ←この用に入力
> alter table test drop(retu)
構文どおりに行ってもできないということでしたら、その状態を
掲載してください。よろしくお願いします。
この回答への補足
何度も回答ありがとうございます。
実はあれから他のテーブルの列を削除しないといけないことがありまして
alter table test drop column retu;
と入力したところ
Oracle SQL*Plus画面--------------
SQL> alter table test drop column retu;
alter table test drop column retu
*
エラー行: 1: エラーが発生しました。
ORA-00905: キーワードがありません。
SQL>
--------------------------------
やはり同じエラーが出るようです。
列の追加や属性の変更はできるのですが・・・
またまれに
DROP TABLE 表名;
もできません、意味のないこととは知りつつも大文字にしてみたり小文字にしてみたりとそんなこともやってます。
何か思い当たることがありましたらよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- Oracle sql(oracle)で質問です。 テーブルAのカラム名、日付(yyyymmdd)の値を テーブルB 2 2023/01/06 10:31
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- MySQL テーブル作成時のカラムについて 2 2022/08/27 21:48
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- Excel(エクセル) VBA 1 2023/04/27 13:37
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- C言語・C++・C# c言語 配列とポインタについて 3 2023/02/09 22:53
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CLOB型へのINSERT
-
Oracle複数の表をもとにmerge文...
-
truncate文で全テーブルを一気...
-
SQLのto_char関数の未定義エラー
-
テーブル名を[]でくくらないと...
-
ORA-00959: 表領域'****'は...
-
ACCESS 複数テーブル・複数フィ...
-
SQL*Loaderで、データを加工し...
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
jspのプログラムについて
-
Access レコードを追加できませ...
-
異なるスキーマからデータを抽...
-
他の処理でselectさせないよう...
-
Data Pump で大量データインポ...
-
RDBのテーブル種類の違い
-
大量データの取得処理について
-
viewのバックアップ
-
特定のスキーマのテーブルを一...
-
INDEXの無効化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CLOB型へのINSERT
-
truncate文で全テーブルを一気...
-
テーブル名を[]でくくらないと...
-
oracleのプライマリ・キー名の変更
-
Oracle複数の表をもとにmerge文...
-
1つのテーブル・2つの列を結合...
-
主キーが二つのテーブルのselec...
-
count(1)とcount(*)の違い
-
oracle sqlで先頭の1件を取得
-
Oracle上のテーブルからCREATE ...
-
Oracle テーブルの列削除
-
SQLのto_char関数の未定義エラー
-
SQL*Loaderをダイレクトモード...
-
グループの数を取得したい
-
あるデータベースの表を全部消...
-
sqlplusで実行したSQLの結果を...
-
インラインビューの更新権限に...
-
テーブル作成のサンプル
-
複数テーブルのUPDATE
-
ユーザー定義関数作成について...
おすすめ情報