- 카테고리:
- 시스템 함수 (정보) 
SYSTEM$REFERENCE¶
오브젝트(테이블, 뷰 또는 함수)에 대한 참조 를 반환합니다. 오브젝트에 대한 참조에 대해 SQL 작업을 실행할 때 참조를 생성한 사용자의 역할을 사용하여 작업이 수행됩니다.
참고
이 함수를 호출하는 대신 수정하지 않을 오브젝트에 대한 참조를 생성해야 하고(예: 저장 프로시저가 쿼리할 테이블을 전달하는 경우) 해당 참조가 전체 세션이 아닌 호출 범위에 대해 유효하도록 하려는 경우 TABLE 키워드를 사용할 수 있습니다(전체 세션이 아닌 호출 범위). TABLE 키워드를 사용하여 테이블, 뷰 또는 쿼리에 대한 참조를 만들기 섹션을 참조하십시오.
- 참고 항목:
구문¶
SYSTEM$REFERENCE('<object_type>', '<object_identifier>',
  [ , '<reference_scope>' [ , '<privilege>' [ , '<privilege>' ... ] ] ] )
인자¶
필수 사항
- 'object_type'
- 오브젝트의 유형입니다. 다음 값 중 하나를 지정할 수 있습니다. - api_integration
- compute_pool
- database
- external_access_integration
- external_table
- external_volume
- function
- materialized_view
- policy
- pipe
- procedure
- row_access_policy
- secret
- schema
- table
- tag
- task
- view
- warehouse
 
- '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 함수를 사용하여 참조를 생성하려고 하는데  | 
| 해결책 | 
 | 
예¶
배경: 테이블, 뷰 및 쿼리를 저장 프로시저에 전달하는 문제 섹션을 참조하십시오.