使用sql生成sql脚本

1,设置环境变量
z7z g&@%y5tO/R0 SQL>set echo off
2O,Vf En1QP0 SQL>set heading off ITPUB个人空间7E|WcPl0k B
SQL>set feedback off
2,把SQL*plus中执行的内容追加到一个文件中: ITPUB个人空间R&p#i ]5I!b\*y
SQl>spool D:\oracle\grant.txt
3,执行 SQL,查询结果会写到D:\oracle\grant.txt文件中 ITPUB个人空间YCZ.eL
SQL> select 'grant connect,resource to'||username||';' from dba_users;
部分输出内容
2^~b eev7`0 grant connect,resource toSYS; ITPUB个人空间v`s;l'{
grant connect,resource toSYSTEM;
a%Az He0M8l3j3j%S0 grant connect,resource toSCOTT;
3jo*^$@7e w y Z0 grant connect,resource toTEST;
f)B+Ch\l A0 grant connect,resource toRMAN; ITPUB个人空间6iR2OX+q
grant connect,resource toOUTLN; ITPUB个人空间6Xm ~ S#FG
grant connect,resource toMGMT_VIEW; ITPUB个人空间f5_3s-^&o
grant connect,resource toMDSYS;
@](seA-BA8lw]0 grant connect,resource toORDSYS;
m$f/\(dC#M R;kP:k0 grant connect,resource toCTXSYS; ITPUB个人空间5aWnIK)n
grant connect,resource toANONYMOUS; ITPUB个人空间"s*DuLu}s:LW
grant connect,resource toEXFSYS;
kq@&I B(kLMo$J0 grant connect,resource toDMSYS;
4,查看grant.txt的内容: ITPUB个人空间0D&]3X8Y B!E&L_HE X
grant connect,resource toSYS; ITPUB个人空间{r"]@;v#S
grant connect,resource toSYSTEM; ITPUB个人空间e)eIf Wr!~^[8A
grant connect,resource toSCOTT; ITPUB个人空间yc#x a3_%z}
grant connect,resource toTEST;
a%RRsj+~S0 grant connect,resource toRMAN; ITPUB个人空间5t0D9v@9R"v[
grant connect,resource toOUTLN;
|%o-d V L5F O0 grant connect,resource toMGMT_VIEW;
u6\"~EKO7u_'X0 grant connect,resource toMDSYS;
L Q K!d5q#[+@0 grant connect,resource toORDSYS;
hQ ZT\rx9w0 grant connect,resource toCTXSYS; ITPUB个人空间 ^R;hBHu!s
grant connect,resource toANONYMOUS; ITPUB个人空间c%EE;CT x
grant connect,resource toEXFSYS; ITPUB个人空间 ay0{$y P
grant connect,resource toDMSYS; ITPUB个人空间 O e!ClML0q
... ... ITPUB个人空间OZ*g.o ld0aPK|4?
5,运行脚本
T LN'} g:uQ2k4_0 SQL>@D:\oracle\grant.txt
p{TM*SSK8m0 Grant succeeded. ITPUB个人空间Nn"rBK _h
Grant succeeded. ITPUB个人空间 }]_X.xv
Grant succeeded.
.p._D8Dkp3YZ:q.w0 Grant succeeded.
1@ t#W'q4M Z7A0 Grant succeeded.
%G][_D-c].}~X0 Grant succeeded.
A3y7l Jp0 Grant succeeded. ITPUB个人空间,p.j$lzNGY
... ...
哦了,大功告成,简单的一个方法,解决了大批量执行某项操作时的繁琐。
一、简介 1.1前言 1、由于最近工作一直用Oracle,故对Oracle数据库研究为对象。 2、根据工作业务需求实际情况进行功能研发。为什么要开发呢?因为在数据库升级或者迁移的时候,为了保证不同环境不同数据库数据保持同步,故数据库SQL脚本非常作用。比如:数据库主脚本,副脚本,增量脚本。 3、 什么是主脚本、副脚本、增量脚本呢? 3.1、主脚本指数据库表或存储过程,视图脚本,序列等脚本。 3.2、副脚本指必须执行主脚本之后才执行的脚本。换句话说在没执行主键脚本的情况下,副脚本执行之后会回滚事务失败。 3.3、增量脚本指在执行主脚本或副脚本之后,根据需求对某个表添加/修改约束(主外键约束,长度约束等),添加/修改字段/添加数据等情况对数据库结构改变处理的一种行为脚本。 1.2作用 1、 快速产出自定义规则需要的SQL脚本。 2、减少人工编写SQL脚本出错率问题,完全通过程序检测SQL准确性。 3、帮助开发人员提高SQL编写效率,减少人工编写SQL开发成本问题。 4、帮助开发人员节约时间,同时避免繁琐不必要编写SQL的工作。 二、实现方式与原理 2.1实现方式 1、实现方式分:正向与逆向实现。什么是正向与逆行呢【是否有鸡还是有蛋,先后道理同等】 2、正向方式:首先把设计好数据库表文档,把所有表的字段属性配置到EXCEL或者CSV格式的文件通过JXL/POI技术去读取文件的字段,再通过其他技术一系列程序处理之后生成所需要的SQL脚本。 3、逆向方式:首先有数据库表,然后通过ORM持久化技术连接数据库再读取表的字段等属性出来,再通过其他技术一系列程序处理之后生成所需要的SQL脚本。 2.2原理 对数据库软件内置核心表或视图查询出来存储用户行为表结构所有属性信息,对此属性结构信息进行分析与组装所需要SQL脚本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值