我终于被存储过程弄湿了,我的第一个过程需要一点帮助。
我得到了基本布局并设置了一个 SP,它只设置两个变量并选择它们,不返回任何信息。
就历史而言,我有两个主记录表tblRecordsCurrent (RecordID)
和tblRecordsHistorical (RecordID)
一个父表,它们tblDataSet (DatasetID)
都有一个 flag dsCurrent
。
每天我使用新的 DataSetID 将 5000 条记录上传到 tblRecordsCurrent。当我上传新数据集时,前一天的数据集(5000 条记录)被移动到 tblRecordsHistorical 并且 tblDataSet 表中的 DSCurrent 标志更新为 False。
我将为 StoredProcedure 提供一个要移动的 DataSetID,以及目标(当前/历史的“C”或“H”)。首先,我需要检查 DataSetID 是否存在,然后在相关的 tblRecordsCurrent/Historical 中是否有任何记录与 DataSetID。
1 - 我如何确定 DataSetID 是否存在,我认为它是 a SELECT COUNT(*) from tblDataSet where DataSetID=@DataSet
,但它是如何实现的,我只是这样做:
@DataSetExistCount=SELECT COUNT(*) from tblDataSet where DataSetID=@DataSet
if @DataSetExistCount== then
@errCount = @errCount + 1
else
>>> MORE LOGIC <<<
END
编辑:
这是我的存储过程的一个很好的开始,如果有人对存储过程中的复杂嵌套逻辑感兴趣,我现在将其发布在一个单独的基于错误捕获的问题下: