測試過程中,經常需要批量刪除或者插入、修改一些表數據或結構,使用手工復制、粘貼其實很麻煩,所以這是我們就可以使用拼接成sql語句的方法來實現操作數據。下面先講講oracle中拼接符 || 的用法,如下:
語法如下:
select " "||table.values||" " from tablename where ...
其中引號內的是需要拼接的字符串
示例一,清除某所有表的表數據:
1、我們知道,oracle是帶有一些自帶的系統表的,如dba_tables,里面包含有oracle的所有表及所屬用戶,這樣我們就可以拼接刪除所有表數據的sql了,然后復制出sql執行就可以了。
語法
select 'delete from '||tb.TABLE_NAME||';' from dba_tables tb where tb.OWNER='IOS_BJ' #注意拼接字符串時要加空格,不然會連接在一起
執行結果如下:

示例二,將2個表之間的關聯關系插入第三個表,拼接成 insert into tablename values(parameter,parameter2.....)
select 'insert into SMBH_KEFU_WARNING_10019_qx values("' || mm.user_id || '","' ||
(kk.sub4_id || '@' || kk.sub6_id || '@' || kk.eventlevel) || '");' 用戶與事件關聯關系sql
from smbh_kefu_warning_10019 mm, SMBH_KEFU_EVENT_10019 kk
where mm.cities in ('越秀區', '天河區') and kk.eventname = 'test測試'
執行結果如下:

特別備注:
1、特別注意,字符串只能用單引號“'”,不能使用雙引號
2、如果查詢出的表字段要以字符串出入新的字段,不能直接加單引號',需要加2個單引號''進行轉譯
參考博客:https://www.cnblogs.com/chinhr/archive/2011/11/14/2248221.html
