Denodo ストアドプロシージャはいくつかの方法で呼び出すことができます。
・SELECT ステートメントの FROM 句でプロシージャを呼び出します。WHERE句で入力パラメータ指定も可能です。
・CALL ステートメントを使用します。
-- キャッシュされたコンテンツに関する情報を返します。
call CACHE_CONTENT();
-- ユーザーおよびロールの一方または両方に付与されている権限とカスタムポリシーに関する情報を返します。
select * from CATALOG_PERMISSIONS();
-- Virtual DataPort データベースのすべてのビューのすべてのフィールドに関する情報を返します。
select * from CATALOG_VDP_METADATA_VIEWS();
-- キャッシュメンテナンスタスクを起動します。
select * from CLEAN_CACHE_DATABASE('db01');
-- ビューの列の「系統」、つまり、フィールドの値の取得先であるデータソースおよびビューのリストを返します。
select * from COLUMN_DEPENDENCIES('db01','b_tab1');
-- JDBC データソースの基盤となるデータベースの特定のテーブル/ビュー用の JDBC 基本ビューを作成するために必要な VQL ステートメントを返します。
select * from GENERATE_VQL_TO_CREATE_JDBC_BASE_VIEW()
where data_source_name = 'ds01'
and table_name = 'tab1'
and base_view_name = 'b_tab1'
and database_name = 'db01'
and folder = '/02bv'
;
-- 指定されたビューに対する GET_STATS_FOR_FIELDS ストアドプロシージャの呼び出しに使用できるモードを返します。
select * from GET_AVAILABLE_STATS_MODES('db01','b_tab1', false);
-- 特定のビューのキャッシュされたデータを保持する、キャッシュデータベース内のテーブルの列に関する情報を返します。
select * from GET_CACHE_COLUMNS('db01','b_tab1');
-- サーバーのキャッシュ構成と各 Virtual DataPort データベースのキャッシュ構成を返します。
select * from GET_CACHE_CONFIGURATION();
-- 特定のビューのキャッシュされたデータを保持する、キャッシュデータベースのテーブルの名前を返します。
select * from GET_CACHE_TABLE('db01','b_tab1');
-- ユーザーに付与されている有効な権限を返します。
select * from GET_CATALOG_EFFECTIVE_PERMISSIONS()
where input_user_name ='admin'
;
-- 特定のクエリを実行するときに実行エンジンがデータベースにプッシュダウンする SQL ステートメントを返します。
SELECT * FROM GET_DELEGATED_SQLSENTENCE()
WHERE vdp_query = 'SELECT col1 FROM db01.b_tab1 CONTEXT(''cache''=''off'')'
;
-- 任意のエレメント (データソース、ビュー、Web サービスなど) に関する情報を返します。
SELECT * FROM GET_ELEMENTS();
-- 検索条件に一致する JDBC データソースの基盤となるデータベースのテーブル/ビューのリストを返します。
-- GENERATE_VQL_TO_CREATE_JDBC_BASE_VIEW プロシージャと組み合わせることで、ソースデータベースのすべてのテーブル/ビュー用の基本ビューを作成するプロセスを自動化できます。
select * from GET_JDBC_DATASOURCE_TABLES()
where input_datasource_name = 'ds01'
;
-- ビューのプライマリキーを構成するフィールドのリストを返します。
select * from GET_PRIMARY_KEYS();
-- ユーザーが Metadata 権限を持っているストアドプロシージャのフィールドに関する情報を返します。
select * from GET_PROCEDURE_COLUMNS();
-- 開かれたすべてのセッションに関する情報を返します。
select * from GET_SESSIONS();
-- 基本ビューとその基盤となるデータソースとのスキーマの違いを検出します。
select * from GET_SOURCE_CHANGES('db01','b_tab1');
-- JDBC 基本ビューのソースの列に関する情報を返します。
SELECT * FROM GET_SOURCE_COLUMNS()
WHERE input_database_name = 'db01'
AND input_view_name = 'b_tab1'
;
-- JDBC 基本ビューのソースに関する情報を返します。
SELECT * FROM GET_SOURCE_TABLE()
WHERE input_database_name = 'db01'
AND input_view_name = 'b_tab1'
;
-- JDBC 基本ビューのフィールドの統計 (各フィールドの最小値や最大値など) とビューの行数を収集 および 返却します。
CALL GET_STATS_FOR_FIELDS('ATSOURCE_THROUGH_VDP_ONLY'
, 'db01'
, 'b_tab1'
, null
, true
, true
, true
, true)
;
-- ビューのフィールドに関する情報を返します。
select * from GET_VIEW_COLUMNS('db01','b_tab1');
-- ビューのインデックスのリストを返します。
select * from GET_VIEW_INDEXES('db01','b_tab1');
-- ビューの統計を返します。
select * from GET_VIEW_STATISTICS('db01','b_tab1');
-- ビューに関する情報を返します。
SELECT * FROM GET_VIEWS();
-- 指定されたデータソースに Virtual DataPort からアクセスできるかどうかをチェックします。
select * from PING_DATA_SOURCE()
where database_name = 'db01'
and data_source_type = 'JDBC'
and data_source_name = 'ds01'
;
-- ビューの系統、つまり、1 つのビューを構築するときに元となった別のビューとデータソースのリストを返します。
select * from VIEW_DEPENDENCIES('db01','b_tab1');
-- 指定された時間 (ミリ秒) だけ待機します。
CALL WAIT(3000);