CData ドライバーで UPDATE ステートメントを使用して別のカラムの値をコピーする方法



CData ドライバーは、SaaS アプリ、ERP スイート、NoSQL、RDBMS データソースに対して SQL クエリを直接実行できます。 これには、従来のリレーショナルデータベースと同様に、あるカラムの値を別のカラムにコピーする UPDATE ステートメントを実行する機能も含まれます。

この記事では、UPDATE ステートメントを使用してカラム間で値をコピーする方法を説明します。 この例では CData ODBC Driver for Salesforce を使用していますが、 UPDATE ステートメントをサポートするすべての CData ドライバーで同じ方法と原則が適用されます。


前提条件

  1. CData ODBC Driver for Salesforce(無料トライアル版のダウンロード、またはライセンス版のインストールはこちらから)
  2. 有効な Salesforce アカウントと資格情報

概要

この記事で説明する内容の概要は以下のとおりです:

  1. CData ODBC Driver for Salesforce のインストールと DSN(データソース名)の設定
  2. SQL ステートメントの実行とカラム間での値のコピー

ステップ 1:Salesforce ODBC ドライバーのインストールと設定

  1. ドライバーのページから、お使いのオペレーティングシステムに対応した Salesforce ODBC ドライバーのインストーラーをダウンロードします。
  2. インストーラーを実行し、画面の指示に従ってセットアップを完了します。
  3. ODBC データソースアドミニストレーターを起動し、Salesforce 用の DSN(データソース名)を設定します:
    • Windows の場合:スタートメニューで「ODBC データソース(64 ビット)」を検索して開きます。
    • macOS の場合:アプリケーション」>「ユーティリティ」>「ODBC Manager」を開きます。
    • Linux の場合:unixODBC を使用して DSN を設定します(通常は odbc.ini ファイル内で設定)。
  4. 追加をクリックし、CData ODBC Driver for Salesforce を選択します。
  5. DSN 設定ダイアログで接続プロパティを入力します:
  • 認証:要件に応じて認証方法を選択します: Basic(ユーザー名、パスワード、セキュリティトークン)、OAuth、または SSO(Okta、ADFS など)。
  • ログイン URL:Salesforce のログインインスタンスを入力します(例:https://login.salesforce.com)。
  • 資格情報:選択した認証方法に応じて、Salesforce のユーザー名、パスワード、および必要に応じてセキュリティトークンを入力します。
  1. 接続テストをクリックして、接続を確認します。
  2. 成功したら、OK をクリックして DSN を保存します。

ステップ 2:SQL ステートメントの実行

DSN を設定したら、SQL クライアント (DbVisualizer、MS Access、Excel、Python の pyodbc、BI ツールなど)から接続し、 UPDATE ステートメントを実行して Salesforce データのカラム間で値をコピーします。

基本構文

あるカラムの値を別のカラムにコピーする SQL の基本構文は以下のとおりです:

UPDATE TableName SET TargetColumn = SourceColumn;

例 1:カラム間でデータをコピーする

Salesforce の Account オブジェクトで、すべての行の Name カラムの値を BillingCity カラムにコピーします:

UPDATE Account SET BillingCity = Name;

このクエリを実行すると、すべてのレコードで BillingCity カラムの値が Name カラムの値で上書きされます。 更新対象を特定のレコードに限定するには、WHERE 句を追加します。 たとえば、Industry カラムが「Manufacturing」に設定されている Account のみを更新するには:

UPDATE Account SET BillingCity = Name WHERE Industry = 'Manufacturing';

SQL 関数の使用

SET 句で SQL 関数を使用して、更新時にデータを変換することもできます:

  • 文字列の長さを計算: Name カラムの文字数を BillingStreet カラムに格納します:
    UPDATE Account SET BillingStreet = CHAR_LENGTH(Name);
  • フィールドを連結: LastName カラムと FirstName カラムを結合して Name カラムに格納します:
    UPDATE Contact SET Name = CONCAT(LastName, '-', FirstName);

これらの操作は、SaaS データのクリーンアップ、マイグレーション、変換ワークフローで特に役立ちます。 サポートされている SQL 関数の完全なリストについては、ダウンロードしたドライバーディレクトリ内の help.htm ファイル、 または jp.cdata.com/drivers/ を参照してください。


CData の 30 日間無料トライアル

Salesforce をはじめとする 300 以上の SaaS、NoSQL、データベースソースに対してクエリや更新を実行できる CData ドライバーをぜひお試しください。 30 日間の無料トライアルを今すぐ開始できます。

無料トライアルを開始