2017-10-31 31 views
-1

Oracleライブでマップ・メンバー関数を含む型を作成しました。Oracleでサポートされていないデータ型の値を表示

select value(r),r.rid 
from rectangle r; 

上記のコマンドを実行すると、[サポートされていないデータ型]が値(r)列の出力として表示されます。実際のデータをどのように見ることができますか?この値は、比較するマップメンバー関数で重要なためです。あなたのコメントに基づいて

create type rectangle_t as object(
    rid varchar(2), 
    lengths number, 
    width number 
); 
ALTER type rectangle_t add map member function area return number cascade; 
create or replace type body rectangle_t map member function area return number is 
    BEGIN 
    return self.lengths*self.width; 
    END; 
END; 
create table rectangle of rectangle_t; 
INSERT INTO rectangle VALUES('a',10,5); 
INSERT INTO rectangle VALUES('b',20,10); 
INSERT INTO rectangle VALUES('c',5,2); 

enter image description here

+0

作成したタイプを表示 –

+0

質問を –

+0

に更新しました。問題はLivesqlにあります。それはSQL開発者の私のために完全に正常に働いた。 Oracle/sqldeveloperを無料でダウンロードし、マシンにインストールして試してみることができます。 –

答えて

1

実際には、地域によって降順で並べ替える必要があります。どのように 私はそれを行うことができますか?

これは使用できます。

SELECT 
    r.*, 
    r.area() area 
FROM 
    rectangle r 
ORDER BY 
    area DESC; 

O/P

RI LENGTHS  WIDTH  AREA 
-- ---------- ---------- ---------- 
b   20   10  200 
a   10   5   50 
c   5   2   10 

問題がLivesqlです。それはSQL developerで私にとって完璧にうまくいった。 Oracleを無料でダウンロードし、マシンにインストールして、SQL Developerまたはsqlplusで試してみてください。

関連する問題