Skip to main content

%OBJECT (SQL)

ストリーム・オブジェクトを開き、対応する oref を返すスカラ関数です。

構文

%OBJECT(stream)

概要

%OBJECT を使用してストリーム・オブジェクトが開かれ、ストリーム・フィールドの oref (オブジェクト参照) が返されます。

ストリーム・フィールドでの SELECT は、ストリーム・フィールドの整形式 OID (オブジェクト ID) 値を返します。ストリーム・フィールドでの SELECT %OBJECT は、ストリーム・フィールドの oref (オブジェクト参照) を返します。

stream がストリーム・フィールドでない場合、%OBJECT は SQLCODE -128 エラーを発行します。

%OBJECT は、以下の関数に対する引数として使用できます。

  • CHARACTER_LENGTH(%OBJECT(streamfield))CHAR_LENGTH(%OBJECT(streamfield))、または DATALENGTH(%OBJECT(streamfield))

  • SUBSTRING(%OBJECT(streamfield),start,length)

ストリーム・フィールドで SELECT を発行し、oid から oref を生成する $Stream.Object.%Open()Opens in a new tab クラス・メソッドを呼び出してこのストリーム oid を開くことでも、同じ操作を実行することができます。

SET oref = ##class(%Stream.Object).%Open(oid)

oref の詳細は、“OREF の基本” を参照してください。oid の詳細は、上記と同じドキュメントの “保存したオブジェクトの識別子 : ID および OID” を参照してください。

引数

stream

ストリーム・フィールドの名前である式。

以下の例は、ストリーム・フィールドに対する SELECT %OBJECT が oref を返す方法を示しています。Notes と Picture はどちらもストリーム・フィールドです。

SELECT TOP 3 Title,Notes,%OBJECT(Picture) AS Photo FROM Sample.Employee

関連項目

FeedbackOpens in a new tab