Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 | 

CALL 문

설명

CUBRID 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

  • method_name은 클래스에 정의된 메소드의 이름이거나, 큐브리드와 함께 제공되는 시스템 정의 메소드의 이름이다. 메소드는 하나 혹은 그 이상의 인수 값을 필요로 한다. 메소드에 인수가 없으면 빈 괄호를 사용해야 한다.
  • call_target은 클래스 이름, 변수, 또 다른 메소드 호출(객체를 반환하는)을 포함하는 객체 값을 나타내는 식(object-valued expression)을 사용할 수 있다. 만약 클래스 객체에서 동작하는 클래스 메소드를 호출하려면, call_target 앞에 반드시 CLASS 키워드가 있어야 한다. 이러한 경우에 클래스 이름은 클래스 메소드가 정의된 클래스의 이름이어야 한다. 만약 인스턴스 메소드를 호출하려면, 인스턴스 객체를 나타내는 식을 지정해야 한다. 클래스 메소드나 인스턴스 메소드에 의해 반환되는 값은 선택적으로 to_variable에 저장할 수 있다. 이 반환 변수의 값은 call_target이나 arg_value 파라미터처럼 CALL 문 내에 사용될 수 있다.
  • 중첩된 메소드 호출은 다른 method_call이 메소드의 call_target이거나 arg_value 인수의 하나로 주어질 때 성립된다.