343 Views
November 20, 19
スライド概要
Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第17回は@DbColumと@DbLookupについての3回目
併せて@DbName、@ReplicaIdについても少々。
@ -notes knows community- 2019/11/06 @関数Talk 第17回 公開版 @ ネオアクシス株式会社 阿部覚 (tw:) @abesat
@ 前回、前々回と、 @DbColumn, @DbLookupの お話しをしましたが、 @Db~で始まるといえば もう一つ知られた関数があるね、 と思いまして: @
@ @DbNameの 1分雑談 @
@DbColumnや@DbLookupに比べれば @ シンプルな関数です IBMさんのヘルプ IBMさんのヘルプ (☝ 11月上旬現在 まだ閲覧可能 😅) @
@ ここで、 前回・前々回で、使用したサンプルフォームを 引き続き説明に用います 式 式の結果を表示する 表示用の計算結果フィールド @ 複数値は改行して表示
ローカルのDBで実施してみると @ こんな感じ サーバー名の部分は"”に サーバー内のDBで実施してみると こんな感じ @ サーバー名はCN= などのラベルがついた階層名に
@ DBアプリそのものを あらわす関数としては 他にこんなものもあります @
@ @ReplicaIDの 1分雑談 @
@こちらもシンプルな関数です @ IBMさんのヘルプ IBMさんのヘルプ @
@ 実施してみると こんな感じ サーバー名はCN= レプリカIDはDBアプリ固有の識別番号 などのラベルがついた階層名に 8桁:8桁の形式です 日時により自動生成されるのですが そのお話は機会があれば @
Databaseプロパティでいうと @ こんな理解でいいかと思います bTitle D @ は こ こ に ついで に相当 @DbNam ameに相当 @ReplicaIDに相当 @
@ と、ここで改めて「つづき」です @
@ @DbColumn @DbLookup 引数ピックアップ篇その1 @
@ まだ、概略しかご紹介していない 各引数について @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) @ もうすこし具体的に見ようと思います
@@DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) "Notes” または "” Dominoデータソース(つまりはNotes DBアプリ) を意味します "ODBC" @ Dominoではなく外部のリレーショナルデータベースなどを意味し ます。 "ODBC”を指定した場合はこの後の引数など含め、 関数の使い方が一変するので、 このTalkでは今のところお話の対象外と考えています
@@DbColumn cache ( class : ; server : database ; view ; columnNumber ) @DbLookup cache ( class : ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) 前々回にこう書きました cacheは "” / "NoCache” / "ReCache” の3つから選択 この関数の実行結果を「覚えておくかどうか」の 指定です @ ✋私には"ReCache”の存在意義がいまいち不明
改めて、こんな記事を確認しました @ ただし、リンクをクリックすると… @ 😭 HCLに移ったのかな? とりあえずはGoogleのキャッシュを見ます
@ IBMさんの記事 IBMさんの記事 (☝ 消えてしまったけど 11月上旬現在、 Googleのキャッシュで閲覧可能 😅) @ 以下、キャッシュという言葉がGoogleさんと重なって まぎらわしいですが
@ IBMさんの記事 IBMさんの記事 (☝ Googleさんのキャッシュ) @ "NoCache”で取得した結果はキャッシュされず、 "”で再利用できないから "ReCache”を作ったんですね
@ (11/6 のの会での実演を再現…) @DbLookupで、ビューの"MainKey”に対応する3列目の場所「代々木」を取得 ここで、ビューの文書を更新し、場所を「田町」に変えてしまいます すぐに同じ@DbLookupを繰り返した場合、"”はキャッシュを使うので「代々木」のまま @ でも、"NoCache”を使えば再検索するので「田町」を返します
@ (11/6 のの会での実演を再現…) ただし、キャッシュは変わらないので、"”に戻した@DbLookupは… でも、"Recache”なら、再検索して「田町」を返すだけでなく、キャッシュも変わるので、 @ 次に"”を使った@DbLookupを行っても、変更されたキャッシュにより「田町」が返ります
@@DbColumn ( class : cache ; @DbLookup ( class : cache ; server : database ; server : database ; view ; columnNumber ) view ; key ; columnNumber または fieldName ; keywords ) 引用するビューが どこの何というデータベースにあるのかを指定 自データベース内にあるのなら "”だけでも @
@ 他のDBアプリを指定する例 サーバー名とファイル名を「:」でつないで指定するのが スタンダードだと思いますが @ 相手DBのレプリカIDを指定することも可能です どちらが合理的だと思いますか? また実際の開発ではこうした「ハードコード」は推奨されず 「変数」になることが多いです
@ 自DBアプリを指定するには もちろん、他DBアプリと同様に 直接サーバー・ファイル名やレプリカIDを指定しても 動くでしょうけど わざわざそれをする必要はなく これまで触れてきたように 自DBアプリ内のビューを検索する分には "” でよいです @
@ 自DBアプリを指定するには ほかに、@DbNameを使った例もけっこう見かけます 内部的には サーバー名とファイル名を「:」でつないだ例と、同等ですね @ ということは、内部的に自DBアプリの レプリカIDが入っているこれも一応OKみたいです
@ 今回はここまでにさせていただき 🙏💦 @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) @ view以下については、また改めて
@ う と が り あ 聴 ご清 ♥ た し ま い ざ ご @