[解決済み】Oracle Databaseで「SET DEFINE OFF」を使用するタイミングと理由
2022-02-20 20:44:18
質問
OracleのScriptを見ていると、見覚えのないものが表示される。
REM INSERTING into database1."Users"
SET DEFINE OFF;
Insert into database1."Users" ("id","right") values ('1','R');
set define off"についてのドキュメントを探しているのですが、文字通り"置換変数をその値に置き換えるコマンドのパースを無効にする"と書かれています。
何を言いたいのかよくわからない。
誰か助けてくれませんか?
どのように解決するのですか?
デフォルトでは、SQL Plusは'&'を置換文字列の先頭にある特殊文字として扱います。 このため、他の理由で '&' を含むスクリプトを実行すると、問題が発生することがあります。
SQL> insert into customers (customer_name) values ('Marks & Spencers Ltd');
Enter value for spencers:
old 1: insert into customers (customer_name) values ('Marks & Spencers Ltd')
new 1: insert into customers (customer_name) values ('Marks Ltd')
1 row created.
SQL> select customer_name from customers;
CUSTOMER_NAME
------------------------------
Marks Ltd
スクリプトに '&' 文字を含むデータが含まれている (または含まれる可能性がある) ことが分かっていて、上記のような置換動作が必要ない場合は、次のように使用します。
set define off
を使用すると、スクリプトの実行中にその動作をオフにすることができます。
SQL> set define off
SQL> insert into customers (customer_name) values ('Marks & Spencers Ltd');
1 row created.
SQL> select customer_name from customers;
CUSTOMER_NAME
------------------------------
Marks & Spencers Ltd
を追加するとよいでしょう。
set define on
をスクリプトの最後に追加すると、デフォルトの動作に戻ります。
関連
-
オラクルにおけるNEXTVALの事例を解説
-
オラクルのブロック修正追跡機能の説明
-
Oracle ADGプロセスを構築するDBCAコマンドライン
-
Oracle 11g R2 インストールチュートリアル フルバージョン
-
[解決済み] ORA-01882: タイムゾーン領域が見つかりません。
-
[解決済み] Oracle の起動ができません - ORA-00845: MEMORY_TARGET はこのシステムでサポートされていません - しかし、メモリサイズは問題ないようです。
-
[解決済み] PLS-00302: component must be declared when it exists?」と表示されます。
-
[解決済み] ORA-01950: テーブルスペース 'USERS' に特権がありません [閉鎖]。
-
[解決済み] 1行のみ追加 "ORA-02290: チェック制約 (SYS_C0012762) 違反 ORA-01403: データが見つかりません"
-
[解決済み】Oracle SQLで、セミコロンとスラッシュの使い分けはいつ必要ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
OracleインストールTNS_ADMIN環境変数設定リファレンス
-
オラクル表領域拡張の詳細
-
Oracleデッドロック検出クエリとその処理
-
Oracle11gアンインストール完全版グラフィックチュートリアル
-
[解決済み] ORA-01461: LONG 値は、LONG 列への挿入にのみバインドできます-クエリー時に発生します。
-
[解決済み] ORA-00900: 無効な SQL 文 - Oracle 10g のプロシージャを実行するとき
-
[解決済み] ORA-29913: Oracle に csv を挿入する際の ODCIEXTTABLEOPEN コールアウトの実行でエラーが発生しました。
-
[解決済み] Oracle 12c: TNS-12535: TNS:操作がタイムアウトしました。
-
[解決済み] ORA-00980 PLSQL で同義語の翻訳が有効でなくなった。
-
[解決済み] 外部キーの追加エラー。ORA-02298: 検証できません - 親キーが見つかりませんでした