用途 用途 用途 用途
バッファ内のカレント行で最初に一致した文字列を変更します。
構文 構文 構文 構文
C[HANGE] sepchar old [sepchar [new [sepchar]]]
項および句 項および句 項および句 項および句
項または句の詳細は、次の説明を参照してください。
sepchar
「/」または「!」など英数字以外の文字を指定します。sepchar には、oldまたは newに使用されていない文字を使用します。CHANGEと最初のsepcharの間の 空白は省略できます。
old
変更するテキストを指定します。CHANGEでは、 oldを検索する際に大文字と 小文字の区別は無視されます。たとえば、次のように入力したとします。
CHANGE /aq/aw
この場合、「aq」、「AQ」、「aQ」、「Aq」と最初に一致した文字列が検索され、
それが「aw」に変更されます。SQL*Plusは、newテキストをユーザーが指定 したとおりに挿入します。
old の前に「...」を付けた場合、それはoldと最初に一致した文字列に達するま
でのすべてのもの(最初に一致した文字列を含む)を意味します。oldの後に
「...」を付けた場合は、old と最初に一致した文字列とそこから行末までのすべ てのものを意味します。途中に「...」を含めた場合は、 old より前の部分から oldから後の部分までのすべてのものが該当します。
new
oldと置換するテキストを指定します。newと、オプションの2番目および3
番目のsepcharsを省略した場合、 CHANGEは、バッファのカレント行からold
を削除します。
使用方法 使用方法 使用方法 使用方法
CHANGEは、バッファのカレント行の上で、指定された既存のテキストと最初に一致した
文字列を、指定された新しいテキストに変更します。LIST出力では、カレント行にはアスタ リスク(*)によってマークが設定されています。
CHANGEを使用して、Oracleエラーの原因となったバッファ内の行を変更することもでき ます。SQL*Plusは、エラーがある行をバッファのカレント行に設定するので、それを変更 できます。
1つの行全体を入力し直すには、行番号を入力し、続いてその行の新しい内容を入力します。
バッファ内の行数より大きい行番号を指定し、その後にテキストを続けた場合、SQL*Plus は、バッファの終わりに新しい行を追加して、そこにそのテキストを入れます。行番号とし てゼロ(0)を指定し、その後にテキストを入力した場合、SQL*Plusは、バッファの先頭に その行を挿入します(その行が行1になります)。
例 例 例 例
バッファのカレント行に次のテキストが含まれているとします。
4* WHERE JOB IS IN ('CLERK','SECRETARY','RECEPTIONIST') 次のコマンドを入力します。
SQL> C /RECEPTIONIST/GUARD/
バッファ内のテキストは、次のように変更されます。
4* WHERE JOB IS IN ('CLERK','SECRETARY','GUARD') または、次のコマンドを入力します。
SQL> C /’CLERK’,.../’CLERK’)/
元の行は、次のように変更されます。
4* WHERE JOB IS IN ('CLERK') または、次のコマンドを入力します。
SQL> C /(...)/(’COOK’,’BUTLER’)/
元の行は、次のように変更されます。
4* WHERE JOB IS IN ('COOK','BUTLER')
行番号を使用して、行全体の内容を置換できます。たとえば、次のように入力したとしま す。
SQL> 2 FROM EMP e1
バッファの2番目の行が次のように置換されます。
FROM EMP e1
行番号に続けて文字列を入力すると、その行番号の後にどのようなテキストがあってもすべ て置換されます。たとえば、次のように入力したとします。
SQL> 2 c/old/new/
バッファの2番目の行が次のように変更されます。
2* c/old/new/