测试过程中,经常需要批量删除或者插入、修改一些表数据或结构,使用手工复制、粘贴其实很麻烦,所以这是我们就可以使用拼接成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

oracle中字符串与表数据拼接的用法--“||”的更多相关文章

  1. Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

    应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...

  2. Oracle中存储过程传入表名学习

    Oracle中存储过程传入表名: 一.动态清除该表的数据 create or replace procedure p_deletetable(i_tableName in varchar2)  as  ...

  3. oracle中的dual表详解

    oracle中的dual表详解 1.DUAL表的用途 Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户 SQL> s ...

  4. Oracle通过Navicat导入表数据与机构,数据无法直接查询,需要加双引号的问题

    使用navicat 导入表到ORACLE时,总是会遇到虽然表格完整导入到数据库,但是往往查不出来数据,网上提供的解决办法是把查询的列 加上 双引号,或者表名加上双引号,但这解决办法却减慢了编写sql ...

  5. for循环往Oracle中插入n条数据,主键自增

    1.主键自增实现方法:http://www.cnblogs.com/Donnnnnn/p/5959871.html 2.for循环往Oracle中插入n条数据 BEGIN .. loop insert ...

  6. MO拆分计划行程序中写入PRODUCTIONORDERS表数据出现重复导致报错(BUG)20180502

    错误提示:ORA-00001: 违反唯一约束条件 (ABPPMGR.C0248833319_6192)ORA-06512: 在 "STG.FP_MO_SPLIT", line 19 ...

  7. Oracle中使用虚拟表DUAL或XMLTABLE返回顺序数列

    在Oracle中使用虚拟表DUAL或XMLTABLE返回顺序数列 使用DUAL表和CONNECT BY LEVEL的特殊用法,返回一个1-10的顺序数列,示例代码如下: SELECT LEVEL FR ...

  8. Oracle中INSTR、SUBSTR和NVL的用法

    Oracle中INSTR.SUBSTR和NVL的用法 INSTR用法:INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 默认 ...

  9. js中哈希表的几种用法总结

    本篇文章只要是对js中哈希表的几种用法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1. <html> <head> <script type=" ...

随机推荐

  1. npm WARN unmet dependency错误解决方法

    在MAC上安装webpack以及reactjs等其它组件时,安装太慢卡住不动,直接ctrl+c终止后,再npm install后出npm WARN unmet dependency错误,npm cac ...

  2. opencv_java import org.opencv.highgui.Highgui,类中无imread方法

    opencv_java import org.opencv.highgui.Highgui,提示错误 2018年01月19日 14:50:25 小码农的路程 阅读数:358   原因:1.OpenCV ...

  3. oneinstack 另一个 lnmp环境一键安装工具

    oneinstack  另一个 http://oneinstack.com/ OneinStack包含以下组合: lnmp(Linux + Nginx+ MySQL+ PHP) lamp(Linux ...

  4. Sword redis存取二进制数据

    #include "hiredis/hiredis.h" /* redis头文件 */ #include <stdio.h> #include <stdlib.h ...

  5. mysql 导入excel文件数据到数据库

    load data local infile 'C:/Users/Administrator/Documents/gaunai2.csv' into table newtable (c1,c2) fi ...

  6. vue封装第三方插件并发布到npm

    前言 写此文前特意google了一下,因为有较详细的开发教程我再写意义不大,有把插件封装成组件的教程,有把自己的组件封住成插件的教程,本文主要说明如何把第三方的插件封装成vue插件,简化配置,一键安装 ...

  7. 解决Win10 Virtualbox5.2.18桥接不能联网小记

    1.设备管理器,右键没添加过时硬件(如果没有,则在cmd中键入命令hdwwiz C:\windows\system32>hdwwiz),按照如下图操作 如此安装Microsoft KM-TEST ...

  8. The last packet successfully received from the server was 20,519 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.

    本地升级了下MySQL的版本,从5.6升为5.7,数据文件直接拷贝的,项目查询数据库报错: Could not retrieve transation read-only status server ...

  9. Android Autosizing TextViews

    https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview  Autosizing TextView ...

  10. Python scipy 计算短时傅里叶变换(Short-time Fourier transforms)

    计算短时傅里叶变换(STFT) scipy.signal.stft(x,fs = 1.0,window ='hann',nperseg = 256,noverlap = None,nfft = Non ...