오라클에서는 PACKAGE가 있어서 프로시져와 함수에서 전역변수를 처리할 수 있었는데 DB2에서는 있는지 PACKAGE처럼 쓸 수 있는것이 있는지 알고 싶습니다. 있다면 그것을 사용 하는 예제도 같이 올려주시면 감사하겠습니다.
오라클의 패키지는 DB2에서 프로시져로 구현하시면 될 듯 합니다. 프로시져 내에서 프로시져와 function을 call하거나 실행 하실 수 있습니다. 개발예문은 이곳을 참고하세요. http://www.ibmdb2.net/board/board.php?bnum=4&num=2425&act=read&cate=&page=1&search=&s_word=
답변 감사합니다. 그런데 프로시져에서 함수와 다른 프로시져 콜은 되는데요.. 오라클에서는 패키지 내에서 전역변수를 선언 할 수 있자나요, 하지만 프로시져안에서 변수는 로컬변수이기 때문에 다른 프로시져안에 매개변수로 주지 않는한 전역변수처럼 쓸 수 없는데 DB2에서는 전역변수 개념이 없는건가요? 아니면 다른 사용법이 있나요?
SP나 function의 소스내에서 정의한 변수외에는 사용할 수 없습니다. 매개 변수를 넣어주는 방법외에는 없는것 같습니다.
DB2 V9.5 에서부터 global variable 을 정의할 수 있는 create variable ... 구문이 추가되었습니다. Variable 정의후 다른 세션에서 이 변수를 READ/WRITE 할수 있도록 권한을 부여하면 전역변수처럼 사용하게 됩니다. 그리고 변수에 대한 선언을 단지 값으로만 선언하는것 외에 select list 라던지 다양한 선언이 가능합니다. 물론 프로시저,함수들을 오라클 패키지처럼 묶어서 사용하는 것은 아직 없습니다. 하지만 DB2에서는 함수나 프로시저에 대한 오버로딩(같은 이름으로 다른 아규먼드를 지원)을 지원하는것이 장점이라 할 수 있습니다. variable 참고 article 입니다. http://www.ibm.com/developerworks/db2/library/techarticle/dm-0711zubiri/index.html