程序无法正确运行

时间:2017-05-18 16:24:26

标签: sql stored-procedures

我创建了将数据从一个表插入另一个表的简单过程。当我按下执行它只标记为成功但它没有做任何。但如果我得到一段代码并按下执行,它就会正确运行:有一些图像显示:official google webmasters blog 如果我选择一段代码:

enter image description here我认为尝试捕获是错误的。谁能帮我?此致

商品

 BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    SET NOCOUNT ON;

    BEGIN TRY
    BEGIN TRANSACTION;
    --Delete all registers of Proceso.srcUnidadesPresupuestadas 
    DELETE FROM Proceso.srcUnidadesPresupuestadas 

    --Insert in table Proceso.srcUnidadesPresupuestadas 
    INSERT INTO Proceso.srcUnidadesPresupuestadas (
    IdCliente,IdCentro,IdNumeroParte,keyNumeroParte,keyCliente,
    keyCentro,Periodo,Mes,UnidadesPresupuestadas,
    mdOrigenCarga,mdUsuarioCarga,mdFechaCarga,bActivo) 
    SELECT
        keyCliente,keyCentro,keyMaterial,keyCliente,keyCliente,
        keyCentro,Periodo,Mes,UnidadesPresupuestadas,
        mdOrigenCarga,mdUsuarioCarga,mdFechaCarga,bActivo FROM Proceso.tmpUnidadesPresupuestadas
    --FROM
    --    #tmpUnidadesPresupuestadas


 COMMIT TRANSACTION;
    END TRY
    BEGIN CATCH
        IF @@TRANCOUNT > 0
            ROLLBACK TRANSACTION;

        DECLARE
            @ERROR_SEVERITY INT,
            @ERROR_STATE    INT,
            @ERROR_NUMBER   INT,
            @ERROR_LINE     INT,
            @ERROR_MESSAGE  NVARCHAR(4000);

        SELECT
            @ERROR_SEVERITY = ERROR_SEVERITY(),
            @ERROR_STATE    = ERROR_STATE(),
            @ERROR_NUMBER   = ERROR_NUMBER(),
            @ERROR_LINE     = ERROR_LINE(),
            @ERROR_MESSAGE  = ERROR_MESSAGE();

        RAISERROR('Msg %d, Line %d, :%s',
            @ERROR_SEVERITY,
            @ERROR_STATE,
            @ERROR_NUMBER,
            @ERROR_LINE,
            @ERROR_MESSAGE);
    END CATCH
END

1 个答案:

答案 0 :(得分:1)

在编写过程代码后单击执行时,您只编译/创建过程。要运行该过程,您必须执行以下语句:

Use <database name>;
Exec <procedure name>;