메서드(method)는 CUBRID 데이터베이스 시스템의 내장 함수로 C로 작성된 프로그램이고, CALL 문에 의해 호출된다. 메서드 프로그램은 메서드가 호출되었을 때 동적 로더에 의해 실행 중인 응용과 함께 로드(load)되고 연결(link)된다. 메서드 실행 결과 생성된 리턴 값(return value)은 호출자(caller)에게 전달된다.
CSQL 언어는 클래스 메서드와 인스턴스 메서드 두 가지 타입의 메서드를 지원한다.
메서드에 대한 상속 법칙은 속성에 대한 상속 법칙과 비슷하다. 서브클래스는 수퍼클래스로부터 클래스와 인스턴스 메서드를 상속받는다. 서브클래스는 수퍼클래스로부터 클래스의 정의나 인스턴스 메서드의 정의를 따를 수 있다.
메서드 이름에 대한 충돌 해결 규칙은 속성 이름에 대한 충돌 해결 규칙과 같다. 속성과 메서드 상속 충돌에 대한 추가적인 정보는 클래스 충돌 해결 을 참조한다.
CALL 문은 데이터베이스에 정의된 메서드를 호출하기 위해 사용된다. 클래스 메서드, 인스턴스 메서드 모두 CALL 문으로 호출이 가능하다. CALL 문으로 시스템에 정의된 메서드를 호출하는 예는 사용자 권한 관리 메서드 를 참고한다.
CALL method_call [ ; ]
method_call :
• method_name ( [ arg_value [ {, arg_value }_ ] ] ) ON call_target [ to_variable ]
• method_name ( call_target [, arg_value [ {, arg_value }_ ] ] ) [ to_variable ]
arg_value :
• any CSQL expression
call_target :
• an object-valued expression
to_variable :
• INTO variable
• TO variable