Usage
CREATE [OR REPLACE] VIRTUAL PROCEDURE views.<procedurename>( ... ) [ RETURNS ( ... ) ] [ OWNER <owner_name>] [EXECUTE AS <executor> ] AS BEGIN <procedure code> END viewsスキーマを使用してプロシージャを作成します;- キーワード
VIRTUALは、手順がソースシステムに依存せず、CData Virtuality Server によって評価されることを示します; CREATE OR REPLACEを使用した場合、既存のプロシージャは置き換えられます。 プロシージャの定義(書式やコメントを含む)が変更されていない場合、既存のプロシージャは置き換えられません;OWNERはプロシージャの所有者を意味します。DEFAULT値:現在のUser;EXECUTE ASプロシージャ実行者を意味します。許可される値:CALLERおよびOWNER。デフォルト値:CALLER.
Syntax Rules
- すべての仮想プロシージャは、
viewsのような仮想スキーマ内にのみ作成する必要があります。作成されると、CData Virtuality Studio のVirtual Schemas セクションに表示されます; - システム・スキーマ(
SYS、SYSADMIN、UTILS、pg_catalog、および分析ストレージ・スキーマ)では仮想プロシージャを作成できません。
詳細はVirtual Procedures and Procedural LanguageおよびVirtual Proceduresを参照してください。
Example
CREATE VIRTUAL PROCEDURE views.dateaxis(IN startdate date,IN enddate date) RETURNS (xdate date) OWNER 'admin' EXECUTE AS OWNERAS BEGINDECLARE date idate;idate=startdate;CREATE LOCAL TEMPORARY TABLE #x(xdate date); WHILE (idate<=enddate) BEGIN INSERT INTO #x(xdate) VALUES (idate); idate=timestampadd(SQL_TSI_DAY,1,idate); ENDSELECT * from #x;END;;Use double semicolon ;; as a statement separator. It is necessary to distinguish statements inside and outside the procedure block.
State
プロシージャが作成されると、そのプロシージャは状態を持ちます:
State | Description |
|---|---|
| The procedure can be used |
| The procedure can be used, but the backing data source uses a stored copy of the metadata |
| The procedure failed to load |
OWNER and EXECUTE AS are available since v4.1