Ian*_*ter 18
您可以通过在all_source上使用闪回查询来获取它.
例如,我的包体当前是版本2,以标准用户身份执行此查询:
SQL> select text
2 from all_source
3 where name = 'CARPENTERI_TEST'
4 and type = 'PACKAGE BODY';
TEXT
package body carpenteri_test
is
procedure do_stuff
is
begin
dbms_output.put_line('version 2');
end do_stuff;
end carpenteri_test;
10 rows selected.
Run Code Online (Sandbox Code Playgroud)
我知道我在今晚9:30左右更改了这个,所以在作为SYSDBA用户连接后,我运行了这个查询:
SQL> select text
2 from all_source
3 as of timestamp
4 to_timestamp('04-JUN-2010 21:30:00', 'DD-MON-YYYY HH24:MI:SS')
5 where name = 'CARPENTERI_TEST'
6 and type = 'PACKAGE BODY';
TEXT
----------------------------------------------------------------------------
package body carpenteri_test
is
procedure do_stuff
is
begin
dbms_output.put_line('version 1');
end do_stuff;
end carpenteri_test;
10 rows selected.
Run Code Online (Sandbox Code Playgroud)
有关闪回的更多信息,请点击此处.Tom Kyte还说明了如何在这里使用all_source闪回.
除非您启用了 DDL 命令的日志记录/审核,或者备份了数据库,否则答案几乎肯定不是
数据库定义(包括存储过程)应始终像源代码一样对待,并在代码存储库中维护
| 归档时间: |
|
| 查看次数: |
40665 次 |
| 最近记录: |