web-dev-qa-db-ja.com

ORA-01735:ALTER TABLEオプションが無効です-ヒキガエル

Toadで以下のSQLを実行すると、 "ORA-01735:無効なALTER TABLEオプション"がスローされます。

ALTER TABLE CALCULATE
  ADD (CAL_METHOD VARCHAR2(50), REMARKS VARCHAR2(500));

しかし、SQL Developerで実行すると、その実行は成功します。SQL/ Toadに問題はありますか。アドバイスしてください。

7
deadend

TOADでは、スクリプトとして実行する必要があります(押します F5)それをステートメントとして実行するのではなく。

6
pritesh agrawal

SQLは正しいですが、問題はTOADが各ボタンのステートメントとスクリプトを制限することです。エラーの原因は、ALTER TABLEまたはExecute Statementキーを使用してF9コマンドを実行しようとしているためと思われます。まず、StatementScriptの違いを見てみましょう

Execute Statement ソート可能なテーブルにすべての結果のリストが表示されます。また、カーソルの下で(または強調表示された)ステートメントのみを実行します。ステートメントを実行すると、バインド変数の入力を求められます(プレースホルダー:その前)。

例えば。

select * from customers where customer_id = :id

idの値を要求します

Execute Script ワークシート内のすべてのステートメントを実行し、結果のテキスト表示を提供します。バインド変数の値の入力は求められません。

https://stackoverflow.com/a/479443/2940265

理解できるように、ALTER TABLEはテキスト出力のみを返します。したがって、Execute as ScriptまたはF5を使用する必要があります

Execute As Script Toad

2
Menuka Ishan

TOAD 11.0.6を使用していますが、Oracleデータベースのバージョンは11gR2です

添付のスクリーンショットに示されているように、F5キーを押すか、緑色の矢印をクリックして実行できる以下のスクリプトを参照してください

CREATE TABLE calculate (col NUMBER);

ALTER TABLE calculate
  ADD (cal_method VARCHAR2(50), remarks VARCHAR2(500));

SELECT * FROM calculate;

enter image description here

1
Jåcob

これを試して:

ALTER TABLE CALCULATE
  ADD (CAL_METHOD VARCHAR2(50));

ALTER TABLE CALCULATE
  ADD (
 REMARKS VARCHAR2(500));
1
Ersin Gülbahar

最初に列をドロップしてから追加し直します

ALTER TABLE  SITE_NUMBER DROP COLUMN CREATOR_ID;  
ALTER TABLE  SITE_NUMBER ADD (CREATOR_ID varchar2(12))
0
Feng Zhang