元数据存储器:MetaDataPkg程序包规范
首先,你必须建立记录类型来存储独立的对象(例如数据表、索引等)的所有必要信息:
| suBType tString is varchar2(30); suBType tDBString is varchar2(255); suBType tDBLongString is varchar2(4000); suBType tLongString is varchar2(32767); type tArrayLongString is table of tLongString index by pls_integer; type tMetaObject is record ( aName tString, aType tString, aLogging tString, aParallel tString, aStatus tString, aValidated tString, aRely tString, aDDLString tLongString ); |
| type tArrayMetaObject is table of tMetaObject index by pls_integer; |
| type tFullMetaObject is record ( aTable tMetaObject, aIndexes tArrayMetaObject, aConstraints tArrayMetaObject, aTriggers tArrayMetaObject ); |
| cEnabled constant char(7) := ’ENABLED’; cDisabled constant char(8) := ’DISABLED’; cUsable constant char(6) := ’USABLE’; cUnusable constant char(8) := ’UNUSABLE’; cValid constant char(5) := ’VALID’; cInvalid constant char(7) := ’INVALID’; cTable constant char(5) := ’TABLE’; cView constant char(4) := ’VIEW’; cIndex constant char(5) := ’INDEX’; cConstraint constant char(10) := ’CONSTRAINT’; cTrigger constant char(7) := ’TRIGGER’; cLoBType constant char(3) := ’LOB’; cCloBType constant char(4) := ’CLOB’; cBloBType constant char(4) := ’BLOB’; cPackage constant char(7) := ’PACKAGE’; cPackageBody constant char(12) := ’PACKAGE BODY’; cProcedure constant char(9) := ’PROCEDURE’; cFunction constant char(8) := ’FUNCTION’; cSequence constant char(8) := ’SEQUENCE’; cSynonym constant char(7) := ’SYNONYM’; cType constant char(4) := ’TYPE’; cColumn constant char(6) := ’COLUMN’; cJavaSource constant char(11) := ’JAVA SOURCE’; cJavaClass constant char(10) := ’JAVA CLASS’; cYes constant char(3) := ’YES’; cNo constant char(2) := ’NO’; cPKConsType constant char(1) := ’P’; cUNConsType constant char(1) := ’U’; cFKConsType constant char(1) := ’R’; cCKConsType constant char(1) := ’C’; cDropStorage constant char(12) := ’DROP STORAGE’; cReuseStorage constant char(13) := ’REUSE STORAGE’; cCascade constant char(19) := ’CASCADE CONSTRAINTS’; cNoCascade constant char(10) := ’NO CASCADE’; cEnable constant char(6) := ’ENABLE’; cNovalidate constant char(10) := ’NOVALIDATE’; cRely constant char(4) := ’RELY’; cNoRely constant char(6) := ’NORELY’; cValidated constant char(9) := ’VALIDATED’; cNotValidated constant char(13) := ’NOT VALIDATED’; cLogging constant char(7) := ’LOGGING’; cNoLogging constant char(9) := ’NOLOGGING’; cParallel constant char(8) := ’PARALLEL’; cNoParallel constant char(10) := ’NOPARALLEL’; cNull constant char(4) := ’NULL’; cNotNull constant char(8) := ’NOT NULL’; cDefault constant char(7) := ’DEFAULT’; cSYSPrefix constant char(4) := ’SYS_’; cDoubleQuote constant char(1) := ’"’; suBType tString is varchar2(30); suBType tDBString is varchar2(255); suBType tDBLongString is varchar2(4000); suBType tLongString is varchar2(32767); type tArrayLongString is table of tLongString index by pls_integer; type tMetaObject is record ( aName tString, aType tString, aLogging tString, aParallel tString, aStatus tString, aValidated tString, aRely tString, aDDLString tLongString ); type tArrayMetaObject is table of tMetaObject index by pls_integer; type tFullMetaObject is record ( aTable tMetaObject, aIndexes tArrayMetaObject, aConstraints tArrayMetaObject, aTriggers tArrayMetaObject ); type tArrayFullMetaObjectByString is table of tFullMetaObject index by varchar2(30); procedure Load ( pTable in tString, pForce in boolean := false ); procedure Reset ( pTable in tString ); procedure Reset; function GetMeta ( pTable in tString, pForce in boolean := false ) return tFullMetaObject; function GetMeta return tArrayFullMetaObjectByString; procedure SetMeta ( pTable in tString, pFullMetaObject in tFullMetaObject ); procedure SetMeta ( pArrayFullMetaObjectByString in tArrayFullMetaObjectByString ); procedure Show ( pTable in tString ); procedure Show; end MetaDataPkg; |
![]() | 为HQ添加Oracle 10监控 | 12-02 |
![]() | 在oracle中导入导出dmp数据库文件 | 12-02 |
![]() | ORACLE查询或删除时指定使用索引的写法&s | 11-30 |
![]() | ORACLE分页查询SQL语法 | 11-30 |
![]() | Oracle数据库的十种重新启动步骤 | 12-06 |
![]() | 完全删除Oracle数据库的方法 | 12-06 |
![]() | 实例讲解Oracle里抽取随机数的多种方法 | 06-20 |
![]() | 在Oracle中实现搜索分页查询 | 08-21 |
![]() | ORACLE问题与解答 | 9910 |
![]() | Oracle数据操作和控制语言详解 | 6526 |
![]() | oracle学习的好书 | 4731 |
![]() | 优化Oracle库表设计的若干方法 | 4252 |
![]() | Oracle数据库技术(1) | 3982 |
![]() | Oracle数据库日常维护手册 | 3908 |
![]() | 完全删除Oracle数据库的方法 | 2931 |
![]() | 数据库设计三大范式应用实例剖析 | 2601 |