記錄一段sqlserver存儲過程語句

ROCEDURE [dbo].[P_InsertVariableDataReal] AS 
BEGIN
DECLARE    
    @ID numeric(38, 0),     
    @TagID nvarchar(36),      
    @SampTime nvarchar(19),       
    @SampStatus numeric(38, 0),     
    @TagValue nvarchar(255),     
    @CouValue nvarchar(255),    
    @DataCode nvarchar(255),   
    @RowCount int    
    --聲明用戶號遊標    
    DECLARE data_cursor CURSOR FOR SELECT * FROM OPENQUERY(MYSQL, 'select * from em_sampledata_collect_real')    
    OPEN data_cursor  --打開遊標    
    FETCH NEXT FROM data_cursor INTO @ID,@TagID,@SampTime,@SampStatus,@TagValue,@CouValue,@DataCode  
    --獲取遊標下一行數據   
    WHILE(@@FETCH_STATUS=0)        
    BEGIN            
        SELECT @RowCount=COUNT(1) FROM ES_COLLECT_DATA_REAL WHERE ID=@ID            
    IF (@RowCount=0)                
        INSERT INTO     ES_COLLECT_DATA_REAL(ID,COLLECT_ITEM_CODE,COLLECT_TIME,COLLECT_VALUE,COU_VALUE) VALUES(@ID,@TagID,@SampTime,@TagValue,@CouValue)            
    ELSE                
        UPDATE ES_COLLECT_DATA_REAL SET COLLECT_VALUE=@TagValue,COU_VALUE=@CouValue WHERE ID=@ID            
    FETCH NEXT FROM data_cursor INTO @ID,@TagID,@SampTime,@SampStatus,@TagValue,@CouValue,@DataCode  --獲取遊標下一行數據           END    
CLOSE data_cursor --關閉外部遊標    
DEALLOCATE data_cursor    --釋放外部遊標END

 

 

ROCEDURE [dbo].[P_InsertVariableDataReal] AS 
BEGIN
DECLARE    
    @ID numeric(38, 0),     
    @TagID nvarchar(36),      
    @SampTime nvarchar(19),       
    @SampStatus numeric(38, 0),     
    @TagValue nvarchar(255),     
    @CouValue nvarchar(255),    
    @DataCode nvarchar(255),    
    @RowCount int    
    --聲明用戶號遊標    
    DECLARE data_cursor CURSOR FOR SELECT * FROM OPENQUERY(MYSQL, 'select * from em_sampledata_collect_real')    
    OPEN data_cursor  
    --打開遊標    
    FETCH NEXT FROM data_cursor INTO @ID,@TagID,@SampTime,@SampStatus,@TagValue,@CouValue,@DataCode  
    --獲取遊標下一行數據    
    WHILE(@@FETCH_STATUS=0)        
    BEGIN            
        SELECT @RowCount=COUNT(1) FROM ES_COLLECT_DATA_REAL WHERE ID=@ID            
        IF (@RowCount=0)                
            INSERT INTO ES_COLLECT_DATA_REAL(ID,COLLECT_ITEM_CODE,COLLECT_TIME,COLLECT_VALUE,COU_VALUE) VALUES(@ID,@TagID,@SampTime,@TagValue,@CouValue)            
        ELSE                
            UPDATE ES_COLLECT_DATA_REAL SET COLLECT_VALUE=@TagValue,COU_VALUE=@CouValue WHERE ID=@ID            
        FETCH NEXT FROM data_cursor INTO @ID,@TagID,@SampTime,@SampStatus,@TagValue,@CouValue,@DataCode  --獲取遊標下一行數據        
END    
CLOSE data_cursor --關閉外部遊標    
DEALLOCATE data_cursor    --釋放外部遊標END

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章