- カテゴリ:
コンテキスト関数 (一般)
IS_APPLICATION_ROLE_ACTIVATED(SYS_CONTEXT 機能)¶
アプリケーションロールが指定されたコンテキストでアクティブ化された場合は、VARCHAR 値 ``'TRUE'``が返されます。
- こちらもご参照ください。
構文¶
SYS_CONTEXT(
'SNOWFLAKE$APPLICATION' ,
'IS_APPLICATION_ROLE_ACTIVATED' ,
'<context>' ,
'<app_role>'
)
引数¶
'SNOWFLAKE$APPLICATION'関数を呼び出して、関数が呼び出されたアプリケーションに関するコンテキスト情報を返すことを指定します。
'IS_APPLICATION_ROLE_ACTIVATED'IS_APPLICATION_ROLE_ACTIVATED 関数を呼び出します。
'context'チェックする実行コンテキストを指定します。次の値のいずれかを指定できます。
SESSION:アプリケーションロールが現在のセッションのプライマリロールまたはセカンダリロールのロール階層にあるかどうかを確認します。ロールがロール階層にある場合、関数は'TRUE'を返します。ACTIVE:アプリケーションロールが現在の呼び出しのコンテキストでロール階層にあるかどうかを確認します。たとえば、所有者権限ストアドプロシージャへの呼び出しでは、プロシージャは所有者のロールによって実行されます。アプリケーションロールが所有者ロールのロール階層にある場合、関数は
'TRUE'を返します。
'app_role'チェックするアプリケーションロールを指定します。
アプリケーションの名前でロール名を修飾しないでください。関数は、関数が呼び出されるコンテキストからアプリケーション名を自動的に決定します。
戻り値¶
この関数は、次の VARCHAR 値のいずれかを返します。
アプリケーションロールが
contextで指定されたコンテキストでアクティブ化されている場合は'TRUE'。アプリケーションロールがそのコンテキストでアクティブ化されていないか、アプリケーションロールが有効でない場合は
'FALSE'。
この戻り値を BOOLEAN 値 TRUE または FALSE と比較するには、BOOLEAN への戻り値を:ref:キャストします <label-data_type_explicit_casting>。例:
SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_APPLICATION_ROLE_ACTIVATED', 'SESSION', 'my_app_role')::BOOLEAN = TRUE;
使用上の注意¶
例¶
アプリケーションロール my_app_role が、セッションのプライマリロールまたはセカンダリロールのロール階層にある場合、次の例では TRUE を返します。
SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_APPLICATION_ROLE_ACTIVATED', 'SESSION', 'my_app_role');