2011-10-21 7 views
-2
insert into tour_concerts values 
('1', to_date('02/08/1974', 'DD/MM/YYYY'), 'Misc Concerts', 'UK'), 

insert into tour_concerts values 
('2', to_date('01/01/1977', 'DD/MM/YYYY'), 'The Hoople North America Your', 'USA'), 

insert into tour_concerts values 
('3', to_date('05/09/1971', 'DD/MM/YYYY'), 'Sheer Heart Attack UK tour', 'UK'), 

insert into tour_concerts values 
('4', to_date('09/02/1972', 'DD/MM/YYYY'), 'Works Japan tour', 'Japan'), 

insert into tour_concerts values 
('5', to_date('03/10/1975', 'DD/MM/YYYY'), 'Magic Tour', 'UK'), 

insert into tour_concerts values 
('6', to_date('02/01/1974', 'DD/MM/YYYY'), 'Freddie Mercury Tribute Concert for AIDS Awareness', 'UK'); 

SQL> @tour_concerts1; 
('6', to_date('02/01/1974', 'DD/MM/YYYY'), 'Freddie Mercury Tribu 
te Concert for AIDS Awareness', 'UK') 
             * 

ERROR:SQL Oracleエラーライン2で

ORA-12899:列 "S3327043" のためには大きすぎる値 "TOUR_CONCERTS"。 "TYPE"(実際:50、最大:30)


誰かが私はこのエラーを修正するのに役立つことはできますか?私はITの

+2

INSERTなどのSQL文は、セミコロン ';'で終了する必要があります。 –

答えて

0

エラーを修正した


OKAYは明らかではありません:TOUR_CONCERTS.TYPEフィールドにはこれ以上、30個の文字を可能にし、あなたは長い文字列を挿入しようとしています。
あなたはこれを解決するには、2つの方法があります:あなたは(AIDS啓発ためフレディ・マーキュリー追悼コンサートは長い30文字以下である)を挿入している

  1. 短縮文字列が
  2. は、あなたのテーブル定義を変更するとTOUR_CONCERTSを設定します。 TYPEフィールドの長さを大きい値(たとえば200?)
0

hhh。テーブルを変更する必要があると思います.30は短すぎます。
あなたのDBがOracleの場合:

alter table YOURTABLE alter column 'S3327043' varchar(100) 
1

このエラーは明らかにあなたがtour_concerts表の第三欄に長すぎるvarchar型の値を挿入しようとしていることを知らせるれます。カラムは30個の以上の文字を受け入れ作るために、テーブルの構造を変更する

  1. 次の方法でこれを修正することができます。たとえば、50は、失敗したステートメントの文字数です。

    alter table tour_concerts modify column_name varchar2(50)

  2. オラクルsubstr関数を使用:

    `、tour_concerts値( '6'、TO_DATE('02/01/1974' 、 'DD/MM/YYYY')にSUBSTRを挿入(「フレディ・マーキュリー・トリビュート・コンサート(AIDS Awareness)」、0,30)、「UK」);

  3. これらのレコードがjdbcなどのアプリケーションに挿入されている場合は、ユーザーの入力をテーブルの最大サイズを超えないように調整します。

-1

チェックthis articleそれはあなたがあなたが必要とすることができる最大値よりもフィールドを大きくする、フィールドよりも長い値を挿入しようとしているようです。