导出insert语句
--by zhuyj 显示&
select ‘\&s’ from dual; --注意必须要加引号
--by zhuyj
create or replace function fun_export_data(
v_tablename in varchar2,
v_condition in varchar2
)
return varchar2 is
/*
by zhuyj 20171130
*/
cursor cur(v_tablename varchar2) is
select column_name,data_type from user_tab_columns where table_name=upper(v_tablename) order by COLUMN_ID;
tmp varchar2(4000);
msg varchar2(4000);
len number;
v_condition1 varchar2(4000);
begin
v_condition1:=' '||v_condition;
tmp:='select ''insert into '||v_tablename||' values(''';
for re in cur(v_tablename) loop
if re.data_type='CHAR' or re.data_type='DATE' or re.data_type='VARCHAR2' or re.data_type='RAW' then
tmp:=tmp||''''''||'||'||re.column_name||'||'||''''''',''';
else
tmp:=tmp||'||'||nvl(re.column_name,0)||'||'||''',''';
end if;
end loop;
len:=length(tmp);
msg:=substr(tmp,1,len-3);
if v_condition is not null then
msg:=msg||''');'' from '||v_tablename||v_condition1||';';
else
msg:=msg||''');'' from '||v_tablename||';';
end if;
return msg;
end;
--执行函数例子:
select BuildSelSql('test') from dual; --test为表名
sql脚本如下 test.sql
--应获取到sql 导出表的insert语句 by zhuyj
select 'insert into test values('''||ID||''','''||SEQ||''','||FLAG||');' from test;
set trimout on
set trimspool on
set heading off
set feedback off
set termout off
set ver off
set linesize 4000
set pagesize 0
whenever sqlerror exit
set serveroutput on
--生成拼接insert的sql
spool e:\sql\test1.sql;
select fun_export_data('test','where id in (''a'',''a2'')') from dual;
spool off
set pagesize 6 --设置页大小的行数
btitle left 'commit;' --分批提交
--生成insert的sql
spool e:\sql\test.sql;
start e:\sql\test1.sql
spool off
/
--执行insert语句:
@test.sql
执行后查看test.sql文件的内容
导出insert语句的更多相关文章
- 一步一图:从SQLSERVER2005中导出insert语句
1.为什么要导出insert语句,我电脑装的是SQL Server Express免费版的,服务器上装的是正式版,在服务器上备份的数据库文件在本机上还原的时候 因为版本不一样,总是不成功.如果能直接使 ...
- PL/SQL 如何导出INSERT语句
需要把查询出来的数据导出成Insert的语句.忽然发现不会用了. 上网查,找到一些,但都不尽如人意. 于是就写了这篇文章.助人助己. 在PL/SQL Developer左边的树状导航栏里,找到[Tab ...
- sql server 2008R2 导出insert 语句(转载)
转载来源: https://blog.csdn.net/zengcong2013/article/details/78648988. sql server 2008R2数据库导出表里所有数据成inse ...
- sql server导出insert语句
在所需要导出数据库上右键 选择[任务] 然后选择[生成脚本] 选择数据库,点击下一步到[数据脚本选项] 编写数据的脚本 选择为true 这一步很重要 下一步选择要导出的对象 下一步选择表 点击完成 ...
- PLSQL导出表的数据insert语句
“Where clause”可以设置查询条件.设置好文件导出的路径(“Output file”),点击[Export]按钮,就可以导出INSERT语句了. 导出之后使用nodepad打开: 但是如果我 ...
- sql server 数据库导出表里所有数据成insert 语句
有时候,我们想把数据库的某张表里的所有数据导入到另外一个数据库或另外一台计算机上的数据库,对于sql server有这样的一种方法 下面我以sql server 2008 R2,数据库是Northwi ...
- [MSSQL]SQL Server里面导出SQL脚本(表数据的insert语句)(转)
最近需要导出一个表的数据并生成insert语句,发现SQL Server的自带工具并米有此功能.BAIDU一下得到如下方法(亲测OK) 用这个存储过程可以实现:CREATE PROCEDURE dbo ...
- SQL Server里面导出SQL脚本(表数据的insert语句)
转载自:http://hi.baidu.com/pigarmy/blog/item/109894c445eab0a28326ac5a.html 最近需要导出一个表的数据并生成insert语句,发现SQ ...
- SQLServer将表数据导出为Insert语句
从网上找到的方法,不过很不错,记录下来,也算是分享下~~ 有一个表,city,有列:cityID,cityName;将此表中所有数据,变为insert语句 select 'insert into ta ...
随机推荐
- Django(二)路由系统、视图、模板
大纲 一.内容概要: 二.上节回顾 三.Django 视图–views 1.获取用户多个数据及文件上传 2.FBV 和 CBV 3.装饰器 四.Django模板补充 - Django模板语言循 ...
- Windows服务器上使用phpstudy部署PHP程序
一.下载并安装PHPStudy 官网地址:http://phpstudy.php.cn/(安装包下载地址:链接:https://pan.baidu.com/s/1WOmbOwmLuUPt3_nmY6- ...
- CSS绝对定位元素居中的几种方法
转载自-CSS居中绝对https://www.cnblogs.com/skura23/p/6530556.html 作者:PajamaCat 1,div宽度未知1 <body> <d ...
- win10双系统安装卸载ubuntu
安装 1. 官网下载需要安装的Ubuntu版本 2. 格式化U盘,用UltraISO软件将Ubuntu写入U盘 3. 设置电脑U盘启动,重启电脑安装,注意安装时关闭在线下载,否则会安装很久 4. 安装 ...
- 在线SQL
有时候为了简单测试一下SQL语法,自己机器上没有安装,可使用在线的SQL环境. 我找到了两个: https://rextester.com/l/sql_server_online_compiler ( ...
- Linux系统扩容根目录磁盘空间的操作方法
问题描述 系统的服务无法正常运行,查看磁盘空间,发现根目录已经满了 解决过程 1.添加磁盘空间 2.使用fdisk -l命令查看磁盘信息 3.新建磁盘分区 4.使用fdisk /dev/sda3, 创 ...
- 「雅礼集训 2017 Day5」珠宝
题目描述 Miranda 准备去市里最有名的珠宝展览会,展览会有可以购买珠宝,但可惜的是只能现金支付,Miranda 十分纠结究竟要带多少的现金,假如现金带多了,就会比较危险,假如带少了,看到想买的右 ...
- 观察者模式 vs 发布-订阅模式
我曾经在面试中被问道,_“观察者模式和发布订阅模式的有什么区别?” _我迅速回忆起“Head First设计模式”那本书: 发布 + 订阅 = 观察者模式 “我知道了,我知道了,别想骗我” 我微笑着回 ...
- linux 单用户密码修改
1.启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式. 2.在linux16/inux/linuxef所在参数行ro更改为init=/sysroot/bin/sh 3.按Crl+x启动到she ...
- (二叉树 递归) leetcode 889. Construct Binary Tree from Preorder and Postorder Traversal
Return any binary tree that matches the given preorder and postorder traversals. Values in the trave ...