안녕하세요 여러분.
저는 JMP 17을 사용하고 있습니다.데이터 테이블의 데이터를 외부 데이터베이스 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>