トップ 一覧 ping 検索 ヘルプ RSS ログイン

DB2 XML DB (pureXML)の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!DB2 XML DB (pureXML)
[DB2][XML][XQuery]
*DB2 XQuery
!!ステートメント終了文字の変更
*DB2  コマンド・ウィンドウで、db2 -td~ コマンド (-td~  オプションを指定したdb2  コマンド)  を発行して DB2  コマンド行プロセッサーを開始
*-td  オプションは、ティルド (~)  をステートメント終了文字として設定
*。ネーム・スペース宣言の終了文字もセミコロンであるため、デフォルトのセミコロン(-t  オプション)  以外の終了文字を指定することによって、ネーム・スペース宣言を使用するステートメントまたは照会が誤って解釈されないようにします
::IBM DataStudio での設定
{{ref_image xmldb01.jpg}}
!!XML  データを格納する DB2  データベースおよび表を作成
*XML  データを保管または索引付けする場合、主キーは不要
 create table android_manifest(apk varchar(255) not null primary key , manifest xml)~
!!XML  データに索引を作成
*述部および文書をまたいだ結合で頻繁に使用される XML  エレメントまたは属性に索引
*リレーショナル索引および XML  データに対する索引は両方とも、列を索引付け
*リレーショナル索引が列全体に索引を付けるのに対して、XML  データに対する索引は列の一部に索引を付ける
*XML  列のどの部分に索引を付けるかを、XML  パターン (限定された XPath  式)  を指定
*索引付きの値が格納されるデータ・タイプを指定する必要もある
*単一の XML  列のみ索引を付けられます。複合索引はサポートされていません
 create index package_xmlidx on android_manifest(manifest) 
 generate key using xmlpattern 	
   'declare default element namespace "http://schemas.android.com/apk/res/android"; /manifest/@package' 
 as sql varchar hashed
!!XML  タイプ列に XML  文書を挿入
*整形式 XML  文書は、INSERT  SQL  ステートメントを使用して、XML  タイプ列に挿入
*ほとんどの場合、ストリング・データを XML  データ・タイプのターゲットに直接割り当てることはできません。まず XMLPARSE  関数を使用してそのデータを明示的に構文解析する必要があります
*INSERT、UPDATE、または DELETE  操作では、XMLPARSE  関数を明示的に呼び出さなくても、ストリング・データを XML  列に接割り当てることができます
*ストリング・データは暗黙的に構文解析されます

 insert into android_manifest(apk, manifest) values ('info.typea.eitangoroid.free',
 '<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
       android:installLocation="auto" 
       package="info.typea.eitangoroid.free" android:versionCode="12" android:versionName="0.65">
     <application android:icon="@drawable/icon" 
         android:label="@string/app_name" 
         android:name="info.typea.eitangoroid.FlippadApplication" android:debuggable="false">
         <meta-data android:name="android.app.default_searchable"
                     android:value="info.typea.eitangoroid.WordSearchableActivity"/>
         <activity android:label="@string/app_name" android:name="FlippadroidMainActivity">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
         <activity android:name="info.typea.eitangoroid.WordSearchableActivity">
             <intent-filter>
                 <action android:name="android.intent.action.SEARCH" />
             </intent-filter>   
             <meta-data android:name="android.app.searchable"
                    android:resource="@xml/searchable"/>     
         </activity>
         <activity android:name="info.typea.eitangoroid.FlippadActivity"></activity>
         <activity android:name="info.typea.eitangoroid.WordBookListActivity"></activity>
         <activity android:name="info.typea.eitangoroid.FlippadPreferenceActivity"></activity>
         <activity android:name="info.typea.eitangoroid.WordEditorActivity"></activity>
         <activity android:name="info.typea.eitangoroid.WorkingSetEditorActivity"></activity>    
         <receiver android:name="info.typea.eitangoroid.HeadsetStateReceiver">
             <intent-filter>
                 <action android:name="android.intent.action.HEADSET_PLUG"/>
             </intent-filter>
         </receiver>        
     </application>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
     <uses-permission android:name="android.permission.INTERNET"></uses-permission>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.VIBRATE"></uses-permission>
     <uses-sdk android:minSdkVersion="8" />
 </manifest>')~
!!レコードが正常に挿入されたことを確認
 select * from android_manifest~
::IBM DataStudio で確認
{{ref_image xmldb02.jpg}}