2012-03-14 11 views
-1

私はOracleには新しく、スカラー変数には内部コンポーネントがなく、複合変数には内部コンポーネントがあることを読んだだけです。PL/SQL oracleのスカラー変数と複合変数

この内部コンポーネントについて説明してください。 どのように動作しますか?その目的は何ですか?

答えて

2

あなたがPL/SQLレコードおよびコレクションについてのドキュメントを読んでする必要があります。

http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/composites.htm

複合変数の内部コンポーネントは、単に変数自体を構成する構造です。

コレクションでは、内部コンポーネントは常に同じデータ 型を持ち、要素と呼ばれます。ユニークなインデックスによって コレクション変数の各要素にアクセスできます。この構文は variable_name(index)です。コレクション変数を作成するには、 コレクションタイプを定義し、そのタイプの変数を作成するか、 %TYPEを使用します。

レコードでは、内部コンポーネントは異なるデータ型( )を持つことができ、フィールドと呼ばれます。レコード変数 の各フィールドには、variable_name.field_nameの構文でその名前でアクセスできます。 レコード変数を作成するには、RECORDタイプを定義し、そのタイプの変数 を作成するか、%ROWTYPEまたは%TYPEを使用します。例えば

、Iは、レコード・タイプ作成した場合:

TYPE person_rectype IS RECORD (
    forename VARCHAR2(30), 
    surname VARCHAR2(30), 
    sex  VARCHAR2(1), 
    dob  DATE 
); 

は、その型の変数を宣言:

applicant_rec person_rectype; 

変数applicant_recは、内部の構成要素を有するがforenamesurnamesexデータタイプがVARCHAR2およびDATEdobです。

希望すると...