Blog > Komentarze do wpisu
Oracle - komentarze w widokach

Dodawanie większego bloku komentarza w widoku Oracle w taki sposób, aby pozostał on widoczny po kompilacji w bazie danych, może wydać się nie do końca intuicyjne (może to być na przykład standardowy nagłówek, którego używamy we wszystkich modułach naszej aplikacji).



W moim wypadku chciałem mieć możliwość szybkiego sprawdzenia, jaka wersja kodu (widoku) działa/została zainstalowana na danej instancji bazy danych i w niektórych wypadkach, do szybkiego zorientowania się, do czego dany widok jest wykorzystywany.



Moje pierwsze podejście wyglądało tak. Do widoku dodałem standardowy komentarz nagłówkowy używany w kodzie.




/***************************************************************************
Copyright (c) information.
                            
** $Workfile$
** $Project$
** $Date$
** $Author$
** $Id$
** Description: 

** $Log[10]$
****************************************************************************/
CREATE OR REPLACE FORCE VIEW EXDUAL_V
(
   VALUE
)
AS
SELECT   1 VALUE
  FROM   DUAL
/




Niestety, gdy sprawdziłem źródło w aplikacji TOAD po moim komentarzu nie ma śladu (nie powinno być to zaskoczeniem):


Oracle - komentarze w widokach

 

...podobnie w SQL*Plus:

 

Oracle - komentarze w widokach

 

Taki sam efekt uzyskamy próbując umieścić komentarz wewnątrz widoku (tym razem, rezultat nie jest tak do końca oczywisty):

 

CREATE OR REPLACE FORCE VIEW EXDUAL_V
(
/***************************************************************************
Copyright (c) information.
                            
** $Workfile$
** $Project$
** $Date$
** $Author$
** $Id$
** Description: 

** $Log[10]$
****************************************************************************/
   VALUE
)
AS
SELECT   1 VALUE
  FROM   DUAL;

 

I w tym wypadku, po kompilacji znów niczego nie zobaczymy:

 

I w tym wypadku, po kompilacji znów niczego nie zobaczymy:

 

Ostatnie podejście (kluczowy jest tu forward slash na końcu skryptu):

 

CREATE OR REPLACE FORCE VIEW EXDUAL_V
(
   VALUE
)
AS
SELECT   1 VALUE
  FROM   DUAL
/***************************************************************************
Copyright (c) information.
                            
** $Workfile$
** $Project$
** $Date$
** $Author$
** $Id$
** Description: 

** $Log[10]$
****************************************************************************/
/

 

I nareszcie mamy to, o co nam chodziło :)

 

Oracle - komentarze w widokach

 

Przykladowy kod można pobrać tutaj.

 

piątek, 13 kwietnia 2012, m0rt1m3r

Related Posts Plugin for WordPress, Blogger...

Polecane wpisy

Komentarze
Gość: Killserv, *.adsl.hansenet.de
2012/04/14 21:44:20
WOW
dokładnie tego szukałem...
Po komentarzu jest średnik? Możesz mi na maila ten kod podesłać tak dla jasności ;-)
-
2012/04/15 15:54:42
Załączyłem przykład kodu. Po komentarzy w przykładzie trzecim nie ma średnika, jedynie slash.
-
Gość: killserv, 217.6.199.*
2012/06/08 15:29:30
wlasnie to sprawdzilem i u mnie tez tak samo dziala ;-)
ale mam pytanie po co to kombinowanie i nie wykorzystales "funkcji" comment?
przyklad troche star ale mimo wszystko
comment on table V_KFZKENNDATEN is '$Revision: 1.2 $ / $Archive: L:/PVCSArchiv/INCAS/SW/Schaden/Ora_Views/V_KfzKenndaten.sql-arc $';
-
2012/06/10 20:12:47
Z takich komentarzy tez korzystamy :).

Jednak gdy musisz zapisać więcej informacji, do tego w miarę przejrzyście sformatowanych nie są one wystarczające.

Dodatkowo każdy z komentarzy przechowuje informacje:
- o wersji pliku/obiektu,
- autorze ostatniej zmiany,
- lokalizacji w repozytorium
- 10-ciu ostatnich zmianach (informacja podawana przy zapisie do repozytorium - check-in).




PowerBuilder Tetris
D - Tetris



Programowanie iOS

C# ToolBox

SQL / TSQL / PLSQL ToolBox

Linux / Unix ToolBox





Zaprzyjaznione Strony

Sprite Bandits

Cake Time