6.95 SDO_NET.REGISTER_CONSTRAINT

構文

SDO_NET.REGISTER_CONSTRAINT(      
  constraint_name IN VARCHAR2,      
  class_name      IN VARCHAR2,      
  directory_name  IN VARCHAR2,      
  description     IN VARCHAR2);

説明

指定したネットワーク制約用にコンパイルしたJavaコードをデータベース内のJavaクラス・リポジトリにロードし、クラス名をUSER_SDO_NETWORK_CONSTRAINTSビュー(「xxx_SDO_NETWORK_CONSTRAINTSビュー」を参照)のCLASS列にロードします。

パラメータ

constraint_name

ネットワーク制約の名前を指定します。

class_name

ネットワーク制約を実装するクラスの完全修飾名(パッケージの名前を含む)を指定します。

directory_name

ネットワーク制約をコンパイルしたときに作成されたクラス・ファイルの場所を特定する、ディレクトリ・オブジェクト(SQL文のCREATE DIRECTORYで作成)の名前を指定します。

description

ネットワーク制約の説明を記述します。

使用上のノート

このプロシージャをコールする前に、USER_SDO_NETWORK_CONSTRAINTSビューに行を挿入し、ネットワーク制約を実装するJavaクラスのコードをコンパイルし、コンパイルされたクラスの場所を特定するディレクトリ・オブジェクトをCREATE DIRECTORY文を使用して作成する必要があります。ネットワーク制約の詳細は、「ネットワーク制約」を参照してください。

USER_SDO_NETWORK_CONSTRAINTSビューから制約の行を削除して、その制約を無効にするには、SDO_NET.DEREGISTER_CONSTRAINTプロシージャを使用します。

次の例では、GivenProhibitedTurnという名前のネットワーク制約を登録します。

-- Set up the network constraint.
REM
REM Create the geor_dir on the file system first.
REM
-- Connect as SYSTEM.
DECLARE 
  -- This is the directory that contains the CLASS file generated when you
  -- compiled the network constraint.
  geor_dir varchar2(1000) := 'C:\my_data\files81\PROTOTYPES\NETWORK_CONSTRAINT\PLSQL_EXAMPLE';
BEGIN 
  EXECUTE IMMEDIATE 'CREATE OR REPLACE DIRECTORY work_dir AS''' || geor_dir || ''''; 
END;
/
GRANT read,write on directory work_dir to net_con;
 
-- Connect as the user that will register the constraint. 
 
REM
REM Compile GivenProhibitedTurn before you register the constraint.
REM
BEGIN
  SDO_NET.REGISTER_CONSTRAINT('GivenProhibitedTurn', 
     'com/network/constraints/ProhibitedTurn',
     'WORK_DIR', 'This is a network constraint that '||
     'prohibits certain turns');
 
END;
/