やあみんな。
JMP17を使用しています。データテーブルのデータを外部データベース ssms に挿入または更新したいと考えています。
現在、データテーブルがあります。 データテーブルの行を比較したい。 データテーブルの行がデータベースに存在しない場合はデータベースに挿入し、データベースに存在する場合はデータベースに更新します。
SQL に挿入または更新機能があることは知っていますが、JMP スクリプトがそれを実行できるかどうかはわかりません。
データを挿入または更新するための構文またはスクリプトは何ですか?
これは SQL の挿入または更新関数です
-- Insert or update into Table
MERGE INTO Report.dbo.Table AS target
USING #tempTable AS source
ON
target.logID = source.logID
WHEN MATCHED THEN
UPDATE SET
Value = source.value
WHEN NOT MATCHED THEN
INSERT (ID, ProductName, Time, Value)
VALUES (source.id, source.productname, source.time, source.value);
前もって感謝します
JSLを使用してデータベーステーブルを挿入/更新しても問題ありません。ステートメントはテーブル #tempTable から report.dbo.table を更新しているようです。#tempTable がそれほど大きくない場合は、データベース内にこのテーブルを作成してから、マージ スクリプトを実行できます。
ここでは、何をする必要があるかを示す、テストされていないコードをいくつか示します。ほとんど使用したことがありませんデータベースを保存する指示;これを機能させるには実験する必要があります。
dt = New Table( "Source Table", Add Rows( 3 ),
New Column( "id", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3] ) ),
New Column( "productname", Character, "Nominal",
Set Values( {"AAAAA", "BBBBB", "CCCCC"} ) ),
New Column( "time", Character, "Nominal",
Set Values( {"7:30", "8:30", "9:30"} ) ),
New Column( "value", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [22, 24, 33] ) )
);
// Copy the table to the database
dt << Save Database( "Connect Dialog", "#tempTable" );
// Create a connection to the database
dbc = create database connection("<CONNECTION-STRING-GOES-HERE></CONNECTION-STRING-GOES-HERE>