|
|
1
2
在这种情况下,一切都按预期进行。您将所有内容作为批处理上载,而SQL Server将在发现错误时立即停止批处理。不幸的是,我不知道一个优雅的内置解决方案。但是,我认为可以在数据库中建立一个系统来更有效地处理这个问题。我喜欢在数据库中进行数据存储/管理,而不是在R中,因此我的解决方案非常繁重。其他人可能会给你提供一个更面向R的解决方案。 首先,创建一个不带约束的简单表来保存新行并相应地调整sqlSave语句。这是R将信息上载到的位置。
将信息放入此表的查询应假定列“duplicate”为“No”。我使用的模式是1=Y&5=N。你也只能标记那些异常值,但我倾向于用我的逻辑来明确。 您还需要一个地方来转储所有在异常值2中违反PK的行。
好 啊。现在您只需要创建一个触发器,将新行从tblTemp移动到outliers2。此触发器将把所有重复行移动到tblDuplicates,以便以后处理、删除或其他操作。
我不会把整个触发器都写下来。我没有一个SQL Server 2005来测试它,我可能会犯语法错误,我不想给你错误的代码,但触发器需要做的是:
这样做的好处是sqlSave()不会因为PK有冲突而出错,您可以在以后的时间处理匹配,比如明天。:-) |
|
|
Hard_Course · 用另一列中的值替换行的最后一个非NA条目 1 年前 |
|
Mark R · 使用geom_sf()删除地球仪上不需要的网格线 1 年前 |
|
|
Joe · 根据对工作日和本周早些时候的日期的了解,找到一个日期 1 年前 |
|
Ben · 统计向量中的单词在字符串中出现的频率 1 年前 |
|
|
TheCodeNovice · R中符号格式的尾随零和其他问题[重复] 1 年前 |
|
dez93_2000 · 在R管道子功能中引用管道对象的当前状态 1 年前 |
|
|
Mankka · 如何在Ggplot2中绘制均匀的径向图 1 年前 |