关于数据库设计的微小问题

时间:2011-02-16 04:09:07

标签: database-design stored-procedures

当人们点击3个不同的按钮时,我有3个项目(点击,num_of_people,学位)更新

如您所知,SQL查询几乎相同,就像:

update Mytable set XX = XX + 1 where ID = @ID

我想问的是:

  • 我应该写3个不同的存储过程, 或
  • 我应该设置一个区分这3个过程的参数,可能是这样的:

    if @flag = 'hits'  
    begin 
        ...
    end 
    

非常感谢!

2 个答案:

答案 0 :(得分:2)

写三个不同的存储过程。

首先,随着时间的推移,这是一个更健壮的设计 - 例如,稍后当您需要稍微改变时,您只能修改相应的存储过程。

答案 1 :(得分:0)

我认为您不能在SQL查询中绑定表名或列名。绑定通常保留用于ID值之类的参数,而不是列的名称。

话虽如此,我会为每个独立操作编写三个单独的INSERT语句。您是否选择使用存储过程来实现它们是您的选择。