博客
关于我
merge into 笔记
阅读量:799 次
发布时间:2023-02-08

本文共 2697 字,大约阅读时间需要 8 分钟。

为了确保数据库中的数据完整性和一致性,我们需要对相关表进行合理的数据处理和类型创建。以下是具体的步骤说明:

第一步:检查并删除旧类型

执行以下T-SQL语句确保类型已存在且准备删除:

    IF EXISTS (        SELECT 1 FROM sys.types t        JOIN sys.schemas s ON t.schema_id = s.schema_id        WHERE t.name = 'tp_AICMonthlyWarrantData' AND s.name = 'MIR'    )    DROP TYPE MIR.tp_AICMonthlyWarrantData    GO    

第二步:创建新类型

使用以下T-SQL语句创建需要的表类型:

    CREATE TYPE MIR.tp_AICMonthlyWarrantData AS TABLE    (        SecId CHAR(10) NOT NULL,        EffectiveDate DATE NOT NULL,        WarrantIssued INT NULL,        WarrantExercised INT NULL,        WarrantsCancelled INT NULL,        WarrantsExpired INT NULL,        Outstanding BIGINT NULL,        Note NVARCHAR(500) NULL    )    GO    

同时授予公众执行权限:

    GRANT EXECUTE ON TYPE::MIR.tp_AICMonthlyWarrantData TO PUBLIC    GO    

第三步:执行数据合并操作

对数据表进行合并操作,确保数据的一致性:

    MERGE INTO OperationData.MIR.AICMonthlyWarrantData a    USING @p_warrantTable b    ON a.SecId = b.SecId AND a.EffectiveDate = b.EffectiveDate    WHEN MATCHED THEN    SET a.Issued = b.WarrantIssued,        a.Exercised = b.WarrantExercised,        a.Repurchased = b.WarrantsCancelled,        a.Expired = b.WarrantsExpired,        a.Outstanding = b.Outstanding,        a.Note = b.Note    WHEN NOT MATCHED THEN    INSERT (SecId, EffectiveDate, Issued, Exercised, Repurchased, Expired, Outstanding, Note, LastUpdate)    VALUES (b.SecId, b.EffectiveDate, b.WarrantIssued, b.WarrantExercised, b.WarrantsCancelled, b.WarrantsExpired, b.Outstanding, b.Note, getdate())    GO    

第四步:执行可转换数据合并操作

对可转换数据表进行合并操作:

    MERGE INTO OperationData.MIR.AICMonthlyCovertibleData a    USING @p_convertibleTable b    ON a.SecId = b.SecId AND a.EffectiveDate = b.EffectiveDate    WHEN MATCHED THEN    SET a.Issued = b.ConvertibleIssued,        a.Repurchased = b.ConvertibleRepurchased,        a.Converted = b.ConvertibleConverted,        a.Redeemed = b.ConvertibleRedeemed,        a.Outstanding = b.Outstanding,        a.Note = b.Note,        a.ConvertibleTotalValue = b.ConvertibleConvertibleTotalValue,        a.ConvertibleFairValue = b.ConvertibleConvertibleFairValue    WHEN NOT MATCHED THEN    INSERT (SecId, EffectiveDate, Issued, Repurchased, Converted, Redeemed, Outstanding, Note, ConvertibleTotalValue, ConvertibleFairValue, LastUpdate)    VALUES (b.SecId, b.EffectiveDate, b.ConvertibleIssued, b.ConvertibleRepurchased, b.ConvertibleConverted, b.ConvertibleRedeemed, b.Outstanding, b.Note, b.ConvertibleConvertibleTotalValue, b.ConvertibleConvertibleFairValue, getdate())    GO    

以上操作完成后,数据将被正确合并到目标数据表中,确保数据的完整性和一致性。

转载地址:https://www.cnblogs.com/mibing/p/8609787.html

你可能感兴趣的文章
Objective-C实现PNG图片格式转换BMP图片格式(附完整源码)
查看>>
Objective-C实现pollard rho大数分解算法(附完整源码)
查看>>
Objective-C实现Polynomials多项式算法 (附完整源码)
查看>>
Objective-C实现pooling functions池化函数算法(附完整源码)
查看>>
Objective-C实现porta密码算法(附完整源码)
查看>>
Objective-C实现Pow Logarithmic幂函数与对数函数算法 (附完整源码)
查看>>
Objective-C实现power iteration幂迭代算法(附完整源码)
查看>>
Objective-C实现powLinear函数和powFaster函数算法 (附完整源码)
查看>>
Objective-C实现pow函数功能(附完整源码)
查看>>
Objective-C实现prefix conversions string前缀转换字符串算法(附完整源码)
查看>>
Objective-C实现prefix conversions前缀转换算法(附完整源码)
查看>>
Objective-C实现pressure conversions压力转换算法(附完整源码)
查看>>
Objective-C实现Prim 算法生成图的最小生成树MST算法(附完整源码)
查看>>
Objective-C实现prime sieve eratosthenes埃拉托斯特尼素数筛选法算法(附完整源码)
查看>>
Objective-C实现PrimeCheck函数算法 (附完整源码)
查看>>
Objective-C实现PrimeFactors质因子分解算法 (附完整源码)
查看>>
Objective-C实现prim普里姆算法(附完整源码)
查看>>
Objective-C实现PriorityQueue优先队列算法(附完整源码)
查看>>
Objective-C实现proth number普罗斯数算法(附完整源码)
查看>>
Objective-C实现pythagoras哥拉斯算法(附完整源码)
查看>>