17.10 - 例: PROXYROLEの名前と値のペアを使用した信頼できるセッションのロールの設定 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-171K-JPN
Language
日本語 (日本)

次の例は、SET QUERY_BANDリクエストを使用してプロキシ セッションのプロキシ ロールを変更する方法を示しています。このセットのすべての例は、Teradataセッション モードで実行されています。

この例では、信頼済みセッションのプロキシ ロールを特定のロールに設定するため、指定のクエリー バンドからPROXYROLEの名前と値のペアを使用します。

     SET QUERY BAND='PROXYUSER=fred;PROXYROLE=administration;'
     FOR SESSION;

この例では、セッション クエリー バンドにより設定された信頼済みセッションのプロキシ ロールを変更するため、指定のクエリー バンドからPROXYROLEの名前と値のペアを使用します。

     SET QUERY_BAND='PROXYUSER=cluser1;PROXYROLE=role1;' FOR SESSION;
     BEGIN TRANSACTION;
      SET QUERY_BAND='PROXYROLE=role2;' FOR TRANSACTION;
      SELECT * 
      FROM table;
     END TRANSACTION;

この例のセットは、クエリー バンドの値を1つのトランザクションで複数回変更できることを示しています。

      BEGIN TRANSACTION;
       SET QUERY_BAND='PROXYUSER=cluser1;PROXYROLE=role1;' FOR TRANSACTION;
       SELECT * 
       FROM table;
       SET QUERY_BAND='PROXYUSER=cluser1;PROXYROLE=role2;' FOR TRANSACTION;
       SELECT * 
       FROM table2;
      END TRANSACTION;

この例では、セッション クエリー バンドにより設定された信頼済みセッションのプロキシ ロールを変更するため、指定のクエリー バンドからPROXYROLEの名前と値のペアを使用します。

     SET QUERY_BAND='PROXYUSER=cluser1;PROXYROLE=role1;' FOR SESSION;
     SELECT * 
     FROM table;
     SET QUERY_BAND='PROXYUSER=cluser1;PROXYROLE=role2;' FOR SESSION;
     SELECT * 
     FROM table2;

この例は、セッション ベースのクエリー バンドを使用してトランザクションの信頼済みセッションのロールを変更しようとしたため、失敗します。

      BEGIN TRANSACTION;
       SET QUERY_BAND='PROXYUSER=cluser1;PROXYROLE=role1;' FOR TRANSACTION;
       SELECT * 
       FROM table;
       SET QUERY_BAND='PROXYROLE=role2;' FOR SESSION;
      END TRANSACTION;