Java 저장 프로시저에서 데이터 액세스하기¶
Java로 작성된 저장 프로시저 처리기로 데이터에 액세스하려면 Snowpark 라이브러리 API를 사용합니다.
Java 저장 프로시저에 대한 호출을 처리할 때 Snowflake는 Snowpark Session
오브젝트를 생성하고 저장 프로시저에 대한 메서드에 오브젝트를 전달합니다.
다른 언어의 저장 프로시저와 마찬가지로 세션의 컨텍스트(권한, 현재 데이터베이스 및 스키마 등)는 저장 프로시저가 호출자 권한으로 실행되는지 또는 소유자 권한으로 실행되는지에 따라 결정됩니다. 자세한 내용은 세션 상태 액세스 및 설정하기 섹션을 참조하십시오.
이 Session
오브젝트를 사용하여 Snowpark 라이브러리 에서 API를 호출할 수 있습니다. 예를 들어 테이블에 대한 DataFrame을 만들거나 SQL 문을 실행할 수 있습니다.
자세한 내용은 Java용 Snowpark 개발자 가이드 를 참조하십시오.
참고
데이터 액세스에 대한 제한 사항을 비롯하여, 제한 사항에 대한 자세한 내용은 Java 저장 프로시저 제한 사항 섹션을 참조하십시오.
데이터 액세스 예¶
다음 예에서 Java 메서드는 한 테이블에서 다른 테이블로 지정된 수의 행을 복사합니다. 이 메서드는 다음 인자를 사용합니다.
Snowpark
Session
오브젝트행을 복사할 출처가 되는 테이블의 이름
행이 저장될 테이블의 이름
복사할 행의 수
이 예의 메서드는 문자열을 반환합니다.
import com.snowflake.snowpark_java.*;
public class MyClass
{
public String myMethod(Session session, String fromTable, String toTable, int count)
{
session.table(fromTable).limit(count).write().saveAsTable(toTable);
return "Success";
}
}