大家好。
我正在使用 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>