본문 바로가기

프로시저

(3)
프로시저에서 테이블/인덱스 생성 등 ddl 문을 실행하려면.. 프로시저에서 ddl 문을 실행하는 방법은 2가지라 하는데, 여기서는 커서 사용하는 방법이 아닌 'execute immediate DDL문장' 사용.. 그런데, 프로시저에서 테이블을 생성하려면.. 관련 권한도 필요해서, sys 나 system 계정에서 해당 권한을 부여해 주어야 한다. grant create any table to 사용자계정; execute immediate 'create table ...' execute immediate 'create index ...' 프로시저 변수에 ddl 문을 담았다가 execute '변수' 로 실행할 수도 있다. '문장1' || ' where column1 = ''C'' ' || -- 인용부호 2개를 이어서 사용하면, '||'C'||' 처럼 복잡하게 하지 않아도 ..
프로시저 call 시 어떤 Statement 를 사용해야 할까..? JDBC 버전에 따라서는,PreparedStatement 로 OUT 파라미터가 없는 Procedure 를 호출했을 때,return 값이 항상 0 인 경우가 발생하므로..Exception 이 발생하지 않는 경우에는 성공한 것으로 간주.Clob 을 DB 에 넣을 때, select for update 를 사용할 때 리턴값을 체크하지 않는 것과 유사.-------------------------------------------------------------------------------------------------- 프로시저를 call 할 때 항상 CallableStatement 를 사용해 왔었는데..오늘 우연찮게 PreparedStatement 를 사용해도 정상 작동.. ㅠ.그러면, Statement ..
오렌지를 이용하여 DB 에서 특정 키워드가 사용된 모든 오브젝트 추출 예전 기억을 떠올리면 체크했는데.. 이거, 필터링이 제대로 이뤄지지 않네요.그래도, 하나의 파일에 모든 Function/Procedure/Trigger 등을 뽑을 수 있으니 검색하기 위한 기반은 다지는 셈이네요..---------------------------------------------------------------------------- 특정 칼럼이 들어간 프로그램을, DB 펑션이나 DB 스토어드 프로시저 트리거 등에서 찾는 방법..Toad 에는 이런 기능이 없다고 하네요. 가지고 있는 버전에서 없는 것인지.. ㅋ아무튼 여기에선 웨어벨리사의 Orange 를 통해 추출하는 방법을 찾아 보겠습니다. 이를테면, 내가 프로그래밍을 하다 보니 특정 칼럼이 어떤 프로그램에서 사용되었는지 알고 싶을 때가 ..