ALTER PROPERTY GRAPH

目的

プロパティ・グラフの基礎となるオブジェクトを変更すると、プロパティ・グラフが無効な状態になることがあります。グラフは、ALTER PROPERTY GRAPH COMPILEを使用して再検証できます。

前提条件

SYSおよびAUDSYS以外のスキーマのプロパティ・グラフを変更する場合は、ALTER ANY PROPERTY GRAPH権限が必要です。

構文

alter_property_graph::=

セマンティクス

IF EXISTS

IF EXISTSを指定して、既存のプロパティ・グラフを変更します。

ALTERIF NOT EXISTSを指定した場合、コマンドはエラー・メッセージ「ALTER/DROP文のIF EXISTS句が正しくありません。」で失敗します。

COMPILE

ALTER PROPERTY GRAPH COMPILEは、実際には有効であっても無効な状態を報告するグラフの再検証に使用します。これは、グラフとそのグラフの基礎となるオブジェクトへの依存性が低すぎるために発生することがあります。そのような場合は、ALTER PROPERTY GRAPH COMPILEを使用してプロパティ・グラフを再検証するだけで十分な場合があります。

例: 有効なグラフが誤って無効な状態を報告する原因

SQL> create table tbl1(c1 number primary key, c2 number, c3 number, c4 as (c2/c3), c5 as (1 / (c2+c3)));

Table created.

SQL> create property graph g vertex tables(tbl1 properties(c2, c3, c5));

Property graph created.

SQL> select object_name, object_type, status from user_objects where object_type in ('PROPERTY GRAPH', 'TABLE');

OBJECT_NAME OBJECT_TYPE STATUS
-------------------- ----------------------- -------
G PROPERTY GRAPH VALID
TBL1 TABLE VALID

SQL> alter table tbl1 drop column c4;

Table altered.

SQL> select object_name, object_type, status from user_objects where object_type in ('PROPERTY GRAPH', 'TABLE');

OBJECT_NAME OBJECT_TYPE STATUS
-------------------- ----------------------- -------
G PROPERTY GRAPH INVALID
TBL1 TABLE VALID

SQL> alter property graph g compile;

Property graph altered.

SQL> select object_name, object_type, status from user_objects where object_type in ('PROPERTY GRAPH', 'TABLE');

OBJECT_NAME OBJECT_TYPE STATUS
-------------------- ----------------------- -------
G PROPERTY GRAPH VALID
TBL1 TABLE VALID

SQL>

ALTER PROPERTY GRAPH COMPILEによるグラフの再検証が失敗すると、グラフはエラー状態になります。その場合は、CREATE OR REPLACE PROPERTY GRAPHを使用してグラフを再定義する必要があります。