活着的死人 发表于 2015-1-16 22:48:52

MYSQL网页编程之有用的备份PL/SQL程序工具

下面我将描述五个不使用MySQL的响亮理由。备份|程序
/*ligang1000@hotmail.com*/



功效:用于备份以后用户所具有的一切PL/SQLobjects(包含

TYPE,TYPEBODY,PROCEDURE,FUNCTION,PACKAGE,PACKAGEBODYorJAVASOURCE)



道理:对USER_SOURCE数据字典的挪用,失掉一切的

PL/SQL代码.



利用办法举例:

1.在C盘创建目次C:EXPORT

2.将EXPORT_SOURCE.SQL和EXTRACT_SOURCE.SQL拷贝到C盘根目次.

3.上岸SQLPLUS,CONNECTSCOTT/TIGER

4.运转@C:EXPORT_SOURCE.SQL

5.实行停止,一切的SCOTT具有的PL/SQLobject的代码文件创建在C:EXPORT目次里.

后缀名.PKS暗示PACKAGE

后缀名.PKB暗示PACKAGEBODY

后缀名.SQL暗示其他OBJECTS





备注:

假如想失掉数据库中各个SCHEMA的PL/SQLobjects,只需把工具代码中的USER_SOURCE改成DBA_SOURCE,由SYSTEM

运转便可.









工具代码:

export_source.sql



SETSERVEROUTPUTONSIZE1000000

SETECHOOFFVERIFYOFFFEEDBACKOFFTRIMSPOOLONPAGES0LINES512

SETTERMOUTOFF

SETTERMOUTON



PROMPT

PROMPTPL/SQLexportutility

PROMPT

PROMPTThisutiltyexportsallofthecurrentschemasPL/SQLsourcecodeinto

PROMPTasubdirectorycalledexport.

PROMPT

PROMPTExportingcurrentuserssourcetofolder./export



SETTERMOUTOFF

SPOOLtemp_source_extract.sql

PROMPTSETECHOOFFVERIFYOFFFEEDBACKOFFTRIMSPOOLONTERMOUTOFFPAGES0LINES512



DECLARE

/*

||ThiscursorextractseachPL/SQLstoredproceduresnameandproceduretype

*/

CURSORcur_source_programs

IS

SELECTdistinctus.name,us.type,

us.name||decode(us.type,PACKAGE,.PKS,

PACKAGEBODY,.PKB,

.SQL)spool_file

FROMuser_sourceus

ORDERBYus.name,us.type;



BEGIN

FORcur_source_programs_rowINcur_source_programs

LOOP

dbms_output.put_line(spoolexport||user||_||cur_source_programs_row.spool_file);

dbms_output.put_line(@extract_source||cur_source_programs_row.name||"||cur_source_programs_row.type||");

dbms_output.put_line(spooloff);

ENDLOOP;



END;

/



SPOOLOFF

@temp_source_extract



SETFEEDBACKONVERIFYONTERMOUTON



PROMPTExportcomplete!

PROMPT 

  



Extract_source.sql:



SETHEADOFFVERIFYOFF

prompt--************************************************************************************--;

prompt--*;

prompt--*SCRIPT:&2&1;

prompt--*;

prompt--*AUTHOR:;

prompt--*;

prompt--*;

prompt--*PURPOSE:;

prompt--*;

prompt--*;

prompt--*;

prompt--*;

prompt--*;

prompt--*PARAMETERS:;

prompt--*;

prompt--*;

prompt--*DEPENDENCIES:none;

prompt--*;

prompt--*REVISIONS:;

prompt--*VerDateAuthorDescription;

prompt--*-------------------------------------------------------------------------;

prompt--*;

prompt--*;

prompt--*************************************************************************************--;





SELECTDECODE(ROWNUM,1,CREATEORREPLACE||RTRIM(RTRIM(us.text,CHR(10))),

RTRIM(RTRIM(us.text,CHR(10))))text

FROMuser_sourceus

WHEREus.name=&1

ANDus.type=&2

ORDERBYus.line;



PROMPT/

PROMPT








DBaaS系统其实具有更大的市场机遇:像其他云服务一样,DBaaS意味着更短的销售周期,更少的启动费用,持续不断的收入,也意味着比之前更多的客户。

谁可相欹 发表于 2015-1-18 07:50:48

习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。

柔情似水 发表于 2015-1-21 12:22:52

对于微软系列的东西除了一遍遍尝试还真没有太好的办法

灵魂腐蚀 发表于 2015-1-30 18:08:57

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。

再现理想 发表于 2015-2-6 14:44:33

也可谈一下你是怎么优化存储过程的?

小魔女 发表于 2015-2-16 16:39:36

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。

只想知道 发表于 2015-3-5 07:08:08

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

若相依 发表于 2015-3-12 00:00:45

从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。

山那边是海 发表于 2015-3-19 16:49:13

代替了原来VB式的错误判断。比Oracle高级不少。

愤怒的大鸟 发表于 2015-3-29 08:53:41

分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。
页: [1]
查看完整版本: MYSQL网页编程之有用的备份PL/SQL程序东西