2014-09-25 69 views
1

是否可以/以及如何将版本号标记为11g Oracle包。每次编译包时,最好使用自动递增的数字。另外我需要使用net framework 4.5上的Oracle Managed DataAccess程序集来提取程序包的版本。是否有可能向oracle包添加版本号

回答

1

不知道到底你需要什么...

可以包装规格后立即使用SVN标记的版本。但修订号只有在您提交到SVN时才会更新。因此,您可以使用它将SVN中的版本与数据库上编译的版本进行匹配。

您也可以总是从获得最后修改时间:

select * 
    from user_objects 
where object_type in ('PACKAGE','PACKAGE BODY'); 
+0

生锈,我没有使用任何SVN。包直接编译到数据库中,当我执行你发布的查询时,我发现有一个'版本名'列。我在编译时如何传递一个值? – TonyP 2014-09-25 15:48:34

+0

版本仅与版本有关。这是为移植目的而设计的。我当时只能有1个版本。我不喜欢那套房给你。你需要控制数据库上对象的版本控制吗? – Rusty 2014-09-25 15:52:57

+0

是的,生锈的我想包版本的对象.. – TonyP 2014-09-25 15:58:22

0

只需使用这样的事情:

CREATE OR REPLACE PACKAGE TEST1 
-- This is package TEST1 ver %1.1% 
AS  
    ver VARCHAR2(128); 
END; 

CREATE OR REPLACE PACKAGE BODY TEST1 
AS  
BEGIN 
    ver := '1.1'; 
END; 

此后,您可以提取版本的包通过查询<package name>.ver。或者通过在DBA_SOURCE中搜索特殊模式(包头注释)。你也可以将它与SVN propset结合起来。

如果你想“自动地”这样做,即没有任何CVS或开发人员的帮助(我不建议),你可以创建特殊的DDL触发器AFTER DDL ON DATABASE

相关问题