英語でOracle!

日本では知られていない情報を読んで、オラクルと英語の勉強もできちゃうメルマガ。
外資系企業のSE(プラチナ保有)が解説と一緒にご紹介します。英語ぷちクイズコーナーもあります。


Thanks for the question regarding "anydata type"

今日は第4号で少しご紹介したAskTom.comから、ANYDATA型についての
記事を取り上げたいと思います。
解説では分析関数についても少しお話させて頂いています。
SQLやPL/SQLに詳しい方には少し物足りない内容かもしれません。

<第4号のバックナンバーはこちら>
http://imoment.web.fc2.com/20060709.html

ANYDATA型とは言葉通り全ての型を格納できるデータタイプになります。
格納する時も参照する時も一工夫が必要になります。
詳しくは引用先のページを確認すると分かるのですが、
格納時(Insert時)はconvert関数(sys.anydata.convert型名)を使用し、
参照時(Select時)はget関数(sys.anydata.get型名)を使用します。
既にお気づきになった方もいるかもしれませんが、
型名が分からないと何もできません。

格納されている型名を知る為にはgettypeName関数を使用します。
引用先ページでも紹介されていますが、gettypeName関数で取得した
型によってget関数を使い分けるFunctionをオリジナルで作成しておくと
select文で簡単に値を取得できるようになります。

詳細は以下URLのマニュアルで確認できます。
adfns_sqltypes.html#793390

■ AskTom.com
http://asktom.oracle.com/pls/ask
■ 引用ページ
http://asktom.oracle.com/pls/ask/f?p=4950:8

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
記事本文
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◆ Thanks for the question regarding "anydata type"

Here is an example.  It could be potentially useful 
in an application that stores generic attributes 
-- attributes you don't KNOW what the datatypes are 
until you actually run the code.  In the past, we 
would have stuffed everything into a VARCHAR2 -- 
dates, numbers, everything.  Now, you can put a 
date in and have it stay as a date (and the system 
will enforce it is in fact a valid date and let you 
perform date operations on it -- if it were in a 
varchar2 -- someone could put "hello world" into 
your "date" field)

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
英語の語順に近い解釈

※自然な語順で解釈する癖をつけるために
  敢えて不自然な日本語になっています。
※また今回は関係代名詞が多いので
  どの語を修飾する文なのか文末に()で表記しています。
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
◆ Thanks for the question regarding "anydata type"
   anydata typeに関するご質問ありがとうございます。

Here is an example.  
例があります。

It could be potentially useful in an application 
それはアプリケーションにとって役立つ可能性があるかもしれません。

that stores generic attributes 
汎用的な属性を格納する(アプリケーション)

-- attributes you don't KNOW what the datatypes are 
-- その属性、あなたが分からない(属性)、どんなデータ型なのか(わからない)

until you actually run the code.  
あなたが実際にそのcodeを実行するまで。

In the past, 
今までは

we would have stuffed everything into a VARCHAR2 
私たちは全てをVARCHAR2型に詰め込んでいました。

-- dates, numbers, everything.  
日付、数字、その他全てを

Now, 
そして今、

you can put a date in and have it stay as a date 
あなたは日付を日付のままとして格納することができます。

(and the system will enforce 
(そしてそのシステムは強制することができます。

it is in fact a valid date 
それが実際に有効な日付であることを(強制できます)

and let you perform date operations on it 
そしてあなたに日付型としての操作を実行させることができます。

-- if it were in a varchar2 -- 
-- もしそれがVARCHAR2なら -- 

someone could put "hello world" into your "date" field)
誰かが"hello world"を格納することができるかもしれません。

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
英語解説
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
regarding

※・・・に関して


It could be 

※could,wouldなどは可能性が遠かったり、遠まわしに(丁寧に)
  伝えたい場合などに使います。
  can,willの過去形とはまったく関係ありませんが、
  現実から遠いというイメージでは少し似ています。


It could be potentially useful in an application 
that stores generic attributes 

※ここのthatはapplicationを修飾するthatです。


stores

※貯蔵、記憶などの意味で使用します。
  今回の場合、データの格納というニュアンスですね。
  今回の文章ではデータの格納という意味で
  storeの他にput,stuffと色々言い換えています。
  英語には同じ単語が頻発するとくどい感じになるので、
  敢えて言い換えることが良くあります。


generic

※汎用的な


-- attributes you don't KNOW what the datatypes are 
   until you actually run the code.  

※attributesとyouの間のthatが省略されています。
  attributesと最初に言い放ってから、次々に説明を付け加えています。
  whatからareまではknowの修飾です。
  until以降もknowに対する時制の修飾です。


VARCHAR2 

※VARCHAR2データ型は可変長のキャラクター型です。
  名前や住所など長さが特定できないデータなどを格納する際に
  良く利用します。


and let you perform date operations on it 

※date型のままでデータベースに格納されていれば、
  日付の計算や日付書式やタイムゾーンの変換など
  便利なOracleの機能を使用できます。


"hello world"

※単純なサンプルプログラムにおいて、
  この"hello world"を表示するだけのプログラムを
  非常に良く使用します。深い意味はなく、単なる伝統(?)です。
  今も世界のどこかでプログラム入門者達によって
  Hello, world!プログラムが動いているのでは
  ないでしょうか。
 

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ひさびさの英語クイズ
※リンクをクリックすると答えがわかります。
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
☆「C++」英語でなんて読みますか?

◆C Plus Plus
┗ http://clickenquete.com/a/a.php?M0002066Q0016997A184af
◆C Pla Pla
┗ http://clickenquete.com/a/a.php?M0002066Q0016997A2dc56
◆C Double Plus
┗ http://clickenquete.com/a/a.php?M0002066Q0016997A34e9b
◆C Cross Cross
┗ http://clickenquete.com/a/a.php?M0002066Q0016997A44837
○結果を見る
┗ http://clickenquete.com/a/r.php?Q0016997C9df0

締切:2006年10月04日18時00分
協力:クリックアンケート http://clickenquete.com/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
Oracle解説
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ANYDATA型とはまったく関係ありませんが、
この引用先のスレッドの中でインドのSivaさんが、
分析関数を使用しているのでこちらも少し紹介したいと思います。

分析関数はRANK関数を使用する場合など必ず使用する必要があります。

◆ 例えば以下のような内容のテーブルがあったとします。

SQL> select * from aaa1;
      COL1 COL2
---------- ----
         1 aaa
         2 aaa
         2 aaa
         3 bbb
         3 bbb
         3 bbb

◆ RANK関数を使用すると簡単に順位を表示することができます。
   順位の対象となる列はorder by で指定します。

SQL> select col1,rank() over (order by col1) as rank from aaa1;
      COL1       RANK
---------- ----------
         1          1
         2          2
         2          2
         3          4
         3          4
         3          4

◆ partition by で順位の計算範囲を区分けすることができます。
   この例ではcol2のaaa,bbb別に順位を計算させています。

SQL> select col2,col1,rank() over (partition by col2 order by col1) 
        as rank from aaa1;

COL2       COL1       RANK
---- ---------- ----------
aaa           1          1
aaa           2          2
aaa           2          2
bbb           3          1
bbb           3          1
bbb           3          1

詳細は以下URLのマニュアルで確認できます。
<Japanese>
<English>

_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
編集後記
_________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

今号からご購読いただいた皆様はじめまして。
本日も最後まで読んでいただきありがとうございます。

いつもこのネタばかりで申し訳ないですが、
今度の日曜日24時からいよいよ凱旋門賞の中継です!
歴史的な瞬間に立ち会えるかもしれないと思うと
緊張しますね。
是非ともリアルタイムで観戦したいです。

それではまた。


___________________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
おわりに
___________________________________
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
記述誤りなどのご指摘、
記事に関する疑問点・質問・感想・ご意見・ご感想など
yakusa_oracle@yahoo.co.jpまでお願い致します。

簡単な自己紹介はこちら
http://pr2.cgiboy.com/S/3191274

バックナンバー兼ブログはこちら
http://imoment.web.fc2.com/

登録・解除はこちらから
http://www.mag2.com/m/0000200441.htm

 

omo inserted by FC2 system