使用存储过程更新现有表

时间:2014-12-23 21:58:01

标签: sql sql-server stored-procedures

存储过程是前端应用程序使用的预先存在的过程。 worklist表是在应用程序中发生特定事件时添加的自定义表,然后我需要在编辑Translation后更新worklist表。

我不知道如何将worklist表中的值传递给存储过程。我还想将当前日期/时间写入UpdateTime表中的worklist列。

worklist表中的列是:

ID, TransTableID, Source1, Source2, Source3, Target, UpdateTime

这是存储过程:

ALTER PROCEDURE [dbo].[spTranslationTableValues]
    @id     integer output,
    @tableid int,
    @input1 varchar(255),
    @input2 varchar(255),
    @input3 varchar(255),
    @output varchar(255)
AS
BEGIN
    /*BEGIN TRAN*/

    IF @id!=0
        UPDATE TranslationTableValues
        SET TableID = @tableid, TableInput1 = @input1, TableInput2 = @input2, TableInput3 =       @input3, TableOutput = @output
        WHERE TableEntryID = @id
    ELSE
    BEGIN
        INSERT into TranslationTableValues 
        VALUES (@tableid, @input1, @input2, @input3, @output)

        SELECT @id = @@identity
    END

    IF @@error!=0
    BEGIN
       /*     if @@nestlevel = 0
        ROLLBACK TRAN
    ELSE
        COMMIT TRAN  */

    SELECT @id = 0

    RETURN -2
END

/*COMMIT TRAN*/ return @id

END

0 个答案:

没有答案