Удалить и вставить по той же процедуре - PullRequest
1 голос
/ 25 апреля 2011

В моей хранимой процедуре SQL мне нужно удалить и вставить в тот же запрос.Мой синтаксис ниже.Но мой синтаксис не может хранить данные.Почему это не удается?Как мне решить эту проблему?Мой синтаксис:

CREATE PROCEDURE spInsertCollectionInspectionHours  
    @StartDate DATETIME ,  
    @EndDate DATETIME ,  
    @ID BIGINT ,  
    @VesselName VARCHAR(80) ,  
    @VoyageNo VARCHAR(15) ,  
    @PortCode VARCHAR(20) ,  
    @Terminal VARCHAR(70) ,  
    @InspectionDate DATETIME ,  
    @InvoiceHours INT ,  
    @ManifestType INT ,  
    @Remarks NVARCHAR(200)  
AS   
    BEGIN    

        BEGIN  


            DELETE  FROM dbo.InspectionHours  
            WHERE    InspectionDate BETWEEN @StartDate AND @EndDate   

        END  

        BEGIN  


            SELECT  @ID = ISNULL(MAX(ID), 0) + 1  
            FROM    [InspectionHours]    
            INSERT  INTO [InspectionHours]  
                    ( [ID] ,  
                      [VesselName] ,  
                      [VoyageNo] ,  
                      [PortCode] ,  
                      [Terminal] ,  
                      [InspectionDate] ,  
                      [InvoiceHours] ,  
                      [ManifestType] ,  
                      [Remarks]  
                    )  
            VALUES  ( @ID ,  
                      @VesselName ,  
                      @VoyageNo ,  
                      @PortCode ,  
                      @Terminal ,  
                      @InspectionDate ,  
                      @InvoiceHours ,  
                      @ManifestType ,  
                      @Remarks  
                    )    
        END  
    END

Если у вас есть какие-либо вопросы, пожалуйста, задавайте.Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 14 мая 2011

проверьте, является ли ваше свойство идентификатора поля id истинным или нет, если оно истинно или да, тогда нет необходимости указывать идентификатор в операторе вставки

0 голосов
/ 26 апреля 2011

Ваш синтаксис в порядке. Это не должно выдавать и ошибку.

Ваше заявление о вставке также в порядке. Если это не выдает ошибку, то происходит что-то еще. Вы уверены, что передаете параметры? Вы уверены, что ищете правильный сервер / db / table и используете правильный запрос для проверки? Вы положительный это не выдает ошибку?

...