- 카테고리:
시스템 함수 (정보)
SYSTEM$REFERENCE¶
오브젝트(테이블, 뷰 또는 함수)에 대한 참조 를 반환합니다. 오브젝트에 대한 참조에 대해 SQL 작업을 실행할 때 참조를 생성한 사용자의 역할을 사용하여 작업이 수행됩니다.
참고
이 함수를 호출하는 대신 수정하지 않을 오브젝트에 대한 참조를 생성해야 하고(예: 저장 프로시저가 쿼리할 테이블을 전달하는 경우) 해당 참조가 전체 세션이 아닌 호출 범위에 대해 유효하도록 하려는 경우 TABLE 키워드를 사용할 수 있습니다(전체 세션이 아닌 호출 범위). TABLE 키워드를 사용하여 테이블, 뷰 또는 쿼리에 대한 참조를 만들기 섹션을 참조하십시오.
- 참고 항목:
구문¶
SYSTEM$REFERENCE('<object_type>', '<object_identifier>',
[ , '<reference_scope>' [ , '<privilege>' [ , '<privilege>' ... ] ] ] )
인자¶
필수 사항
'object_type'오브젝트의 유형입니다. 다음 값 중 하나를 지정할 수 있습니다.
api_integrationcompute_pooldatabaseexternal_access_integrationexternal_tableexternal_volumefunctionmaterialized_viewpolicypipeprocedurerow_access_policysecretschematabletagtaskviewwarehouse
'object_identifier'오브젝트의 식별자입니다. 식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
식별자에 대한 자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
선택 사항
'reference_scope'참조 범위를 지정합니다.
'CALL'이거나 생략된 경우 참조는 자신이 생성된 컨텍스트 내에서 유효함을 지정합니다. 참조 범위 지정하기 섹션을 참조하십시오.'SESSION'인 경우 참조가 세션 기간 동안 유효해야 함을 지정합니다.'PERSISTENT'인 경우 오브젝트가 삭제될 때까지 참조가 유효해야 함을 지정합니다. 영구적 참조 를 확인하십시오.참고:
'privilege'인자를 지정해야 하는 경우'reference_scope'인자가 필요합니다.유효한 값:
'CALL''SESSION''PERSISTENT'
기본값:
'CALL''privilege'오브젝트에 대해 SQL 작업을 수행하는 데 필요한 추가 권한 입니다.
예를 들어 테이블에 행을 삽입하는 저장 프로시저에 테이블에 대한 참조를 전달한다고 가정합니다. 해당 테이블에 대한 INSERT 권한을 저장 프로시저에 부여하려면
'INSERT'를 지정하십시오.지원되는 오브젝트 및 권한 목록은 참조의 지원 오브젝트 유형과 권한 섹션을 참조하십시오.
둘 이상의 권한을 추가로 지정하려면 각 권한 이름을 함수에 대한 추가 인자로 전달하십시오. 예를 들어 INSERT, UPDATE 및 TRUNCATE 권한을 부여하려면 다음을 수행하십시오.
CALL myprocedure( SYSTEM$REFERENCE('TABLE', 'table_with_different_owner', 'SESSION', 'INSERT'. 'UPDATE', 'TRUNCATE'));
OWNERSHIP 또는 ALL을 권한으로 지정할 수 없습니다.
반환¶
식별자로 사용할 수 있는 참조의 직렬화된 문자열 표현.
사용법 노트¶
'object_type' 인자는 object_identifier 에서 지정한 오브젝트 유형과 일치해야 합니다.
문제 해결하기¶
다음 시나리오는 발생할 수 있는 문제를 해결하는 데 도움이 될 수 있습니다.
오류 |
505028 (42601): Object type <object_type> does not match the specified type <type_of_the_specified_object> for reference creation
|
|---|---|
원인 |
SYSTEM$REFERENCE 함수를 사용하여 참조를 생성하려고 하는데 |
해결책 |
|
예¶
배경: 테이블, 뷰 및 쿼리를 저장 프로시저에 전달하는 문제 섹션을 참조하십시오.