데이터베이스 내에서 현재 사용자가 접근 권한을 가진 Java 저장 함수에 대한 정보를 보여준다.
속성명 |
데이터 타입 |
설명 |
---|---|---|
sp_name |
VARCHAR(255) |
SP 이름 |
sp_type |
VARCHAR(16) |
SP 종류 (function or procedure) |
return_type |
VARCHAR(16) |
리턴 값 타입 |
arg_count |
INTEGER |
매개변수 개수 |
lang |
VARCHAR(16) |
구현 언어(현재로서는 JAVA) |
target |
VARCHAR(4096) |
실행될 Java 메소드 이름 |
owner |
VARCHAR(256) |
소유자 |
CREATE VCLASS db_stored_procedure
(sp_name, sp_type, return_type, arg_count, lang, target, owner)
AS
SELECT sp.sp_name,
CASE sp.sp_type WHEN 1 THEN 'PROCEDURE'
ELSE 'FUNCTION' END,
CASE WHEN sp.return_type = 0 THEN 'void'
WHEN sp.return_type = 28 THEN 'CURSOR'
ELSE ( SELECT dt.type_name
FROM _db_data_type dt
WHERE sp.return_type = dt.type_id) END,
sp.arg_count,
CASE sp.lang WHEN 1 THEN 'JAVA'
ELSE '' END, sp.target, sp.owner.name
FROM _db_stored_procedure sp
다음 예제에서는 현재 사용자가 소유하고 있는 Java 저장 함수를 조회한다.
csql> select sp_name, target from db_stored_procedure
csql> where sp_type = 'FUNCTION'
csql> and owner = CURRENT_USER
csql> ;x
=== <Result of SELECT Command in Line 3> ===
sp_name target
============================================
'hello' 'SpCubrid.HelloCubrid() return java.lang.String'
'sp_int' 'SpCubrid.SpInt(int) return int'