행위

"ORACLE 프로시져"의 두 판 사이의 차이

DB CAFE

1번째 줄: 1번째 줄:
  
<div class="mw-parser-output"><h1> 프로시져</h1><div class="mw-parser-output"><h2> 프로시져 소스 조회</h2><p><syntaxhighlight lang="sql">
+
= 프로시져 =
</p><p>SELECT *
+
== 프로시져 소스 조회 ==
</p>
+
 
<p class="mw-empty-elt"></p>
+
<syntaxhighlight lang="sql">
<pre class="_fck_mw_lspace"> FROM DBA_SOURCE
+
SELECT *
</pre>
+
  FROM DBA_SOURCE
<p>WHERE TYPE='PROCEDURE'
+
WHERE TYPE='PROCEDURE'
</p>
+
  AND TEXT LIKE '%PROD_ID%';
<pre class="_fck_mw_lspace">AND TEXT LIKE '%PROD_ID%';
+
</syntaxhighlight>
</pre>
+
 
<p></syntaxhighlight>
+
 
</p></div>
+
== 패키지에서 주석처리 되지 않은 항목 조회 ==
<h2> 패키지에서 주석처리 되지 않은 항목 조회</h2>
+
/*
<p>/*
+
 
</p>
+
오라클 사용자가 사용하는 패키지의 BODY 소스를 검색하여
<pre class="_fck_mw_lspace">  오라클 사용자가 사용하는 패키지의 BODY 소스를 검색하여
 
 
   주식이 없거나 패턴이 맞지 않는 항목을 조회 한다.
 
   주식이 없거나 패턴이 맞지 않는 항목을 조회 한다.
</pre>
+
*/
<ul><li>/ </li></ul>
+
 
<p><pre class="fck_mw_syntaxhighlight"><syntaxhighlight lang="sql">  
+
<syntaxhighlight lang="sql">  
 
SELECT * FROM DBA_OBJECTS B  
 
SELECT * FROM DBA_OBJECTS B  
 
  WHERE B.OWNER =:IN_OWNER  
 
  WHERE B.OWNER =:IN_OWNER  
32번째 줄: 31번째 줄:
 
                       AND A.TEXT LIKE '%NAME%');
 
                       AND A.TEXT LIKE '%NAME%');
  
</syntaxhighlight></pre>
+
</syntaxhighlight>
</p></div>
 

2018년 8월 22일 (수) 16:00 판

thumb_up 추천메뉴 바로가기


1 프로시져[편집]

1.1 프로시져 소스 조회[편집]

<syntaxhighlight lang="sql"> SELECT *

 FROM DBA_SOURCE
WHERE TYPE='PROCEDURE'
  AND TEXT LIKE '%PROD_ID%';

</syntaxhighlight>


1.2 패키지에서 주석처리 되지 않은 항목 조회[편집]

/*

오라클 사용자가 사용하는 패키지의 BODY 소스를 검색하여

  주식이 없거나 패턴이 맞지 않는 항목을 조회 한다.
  • /

<syntaxhighlight lang="sql"> SELECT * FROM DBA_OBJECTS B

WHERE B.OWNER =:IN_OWNER 
  AND B.OBJECT_TYPE = 'PACKAGE BODY' 
  AND B.STATUS <> 'INVALID' -- VALID 상태만 조회, 만약 INVALID 된다고 해도 패키지를 수행하는 순간 컴파일 됨. 
  AND NOT EXISTS (SELECT 1
                    FROM DBA_SOURCE A
                   WHERE A.OWNER = B.OWNER
                     AND A.TYPE = B.OBJECT_TYPE
                     AND A.NAME = B.OBJECT_NAME
                     AND A.LINE <= 5
                     AND A.TEXT LIKE '%NAME%');

</syntaxhighlight>