TECH BLOG

MENU

オンプレクラウド

Dr.Sum

Dr.Sum

みなさんはDr.Sumの環境変数の数で頭を悩ませたことはありませんか? Dr.Sumはユーザーやグループに対して最大10個まで環境変数をセットすることができます。

「え、11個欲しいのに・・・」と思ったあなたへ、今回の記事では環境変数を11個以上使える小技を紹介します。

 

※今回紹介する機能はDr.Sum Ver 5.5からの機能となります。

 

IN句をつかって複数入力

今回の対象テーブル

下図のようなテーブルに対し、環境変数をつかってA,B,Cのレコードを抽出します。

 

通常「A」「B」「C」を検索したい場合、以下のようにSQLを記述します。

SELECT * FROM t1 WHERE c1 IN ('A', 'B', 'C')

または

SELECT * FROM t1 WHERE c1 = 'A' OR c1 = 'B' OR c1 = 'C'

しかし、グループの環境変数の場合、下図のようにカンマ区切りで設定しても、該当なしになります。

SELECT * FROM t1 WHERE c1 IN (GET_GROUP_INFO(ENV1))

これは「A,B,C」という一つの文字列で検索しているためです。
内部的に実行するSQLとなっています。

SELECT * FROM t1 WHERE c1 IN ('A,B,C')

SIMILAR TOとGET_GROUP_INFO_LISTを組み合わせる

Ver.5.5から登場した特殊演算子「SIMILAR TO」と、関数「GET_GROUP_INFO_LIST」を組み合わせることで可能になりました。

SIMILAR TO:正規表現を使ってパターン検索する

GET_GROUP_INFO_LIST:連結したグループ情報を取得する

次のようにグループの環境変数に「A|B|C」を設定します。

 

この状態にして下記のSQLを流すと、データが抽出されます。

SELECT c1 FROM t1 WHERE c1 SIMILAR TO GET_GROUP_INFO_LIST(ENV1, '|');

   

 

このようにひとつの環境変数の枠の中で複数のデータを抽出することが可能になります。

環境変数をつかって権限管理をする方も多いと思います。

もし環境変数の上限で悩まれていましたら、ぜひこちらを参考にしてください。

 

また他の記事にも環境変数の使い方の解説がありますので、あわせてご覧ください。

 

 

 

この記事にリアクションしてみませんか?

  • 分かりやすい (1)
  • 問題が解決した (0)
あなたのお役に立ててうれしいです!
プロフィールへ

Toru Sasahara

Dr.Sumのソースコード1行目から開発に携わり、四半世紀にわたってDr.Sumと共に歩んできました。 2022年からはDr.Sumの開発責任者とプロダクトエンゲージメント担当を兼務し、ユーザーが愛着を持ち、長く使い続けられる製品の開発に情熱を注いでいます。

Related article

Related article関連記事

Pick up

Pick upおすすめ記事

【まとめ】SVFCloud帳票をinvoiceAgentに連携する方法

  • #帳票作成・出力
  • #システム連携
  • #電帳法
  • #文書定義
  • #処理定義

2024.04.18

SVF

Dr.Sum Copilotをインストールしてみた【OpenAI】

  • #Copilot

2024.04.05

Dr.Sum

特定の文字列で分割して階層構造をつくりたい!~DS Scriptで分割する~1

  • #データ加工
  • #DS Script

2023.07.17

Dr.Sum

Ranking

Rankingランキング

1

Excelのデータを加工したい。~変換(横持ち⇔縦持ち)について~

  • #データ取り込み
  • #データ加工

2021.01.19

Dr.Sum

2

Dr.Sum Copilotをインストールしてみた【OpenAI】

  • #Copilot

2024.04.05

Dr.Sum

3

【Excelの取り込み】データベースにExcelデータをインポートしよ…

  • #データ取り込み

2020.08.14

Dr.Sum

Info

Information

ウイングアーク1stからのお知らせ