SQL:更新存储过程以使用复合主键更新表

时间:2013-01-06 20:17:17

标签: sql sql-server-2008 stored-procedures

我有一个带有三列c1,c2和c3的sql Table_A。 c1和c2构成了该表的主键。

现在,c1的值是其他TableBB中的主要值,我想更新表A中的一行,其中c1值与传递的参数匹配。

我该怎么做?我正在使用的代码是错误的

    create procedure sp_update
            @c1 char(20),
            @c3 char(20)
    AS

    UPDATE Table_A
            SET
            C3 = @c3
    WHERE C1 = @c1

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您的表名为“表A”,请尝试:

UPDATE  [Table A]

否则,看起来你将你的表别名为“A”。但是你不能在update子句中使用别名。所以改变这个:

UPDATE  YourTable A

为:

UPDATE  YourTable