批量導入含 URL 的 INSERT 腳本,TOAD 提示「需為變量 AMP 賦值」—— Oracle 將 URL 參數連接符 & 識別為替換變量前綴。
| 方法 | 代碼示例 | 優缺點 |
|---|---|---|
| 1. 關閉替換變量 (推薦) | | 最簡便、效率最高。SQL*Plus 設置一次永久生效;TOAD 建議每個腳本首行加此句 |
| 2. 用 CHR(38) 替換 | | 涉及函數調用,性能稍差 |
| 3. 字符串拆分拼接 | | 需兩次拼接,效率最低 |
原理:SHOW ALL 可見 DEFINE "&" (hex 26),關閉後 Oracle 不再解析 & 為變量。
例:插入 It's fine
| 方法 | 代碼 | 解析 |
|---|---|---|
| 1. 雙單引號轉義 (標準 SQL) | | 連續四個單引號:外層兩個為字符串界定,中間兩個代表一個實際單引號 (第一個轉義第二個) |
| 2. CHR(39) 替換 | | ASCII 碼法,通用但可讀性稍差 |
SET DEFINE OFF,一勞永逸解決 & 問題''),可讀性最好且為 ANSI SQL 標準