关于数据库设计的一个小问题

发布于 2024-10-18 03:37:15 字数 324 浏览 0 评论 0原文

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

正如你所知,SQL 查询几乎是相同的,就像:

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

我想问的是:

  • 我应该写 3 个不同的存储程序, 或者
  • 我应该设置一个参数来区分这3个进程,也许是这样的:

    if @flag = 'hits'  
    开始 
        ...
    结尾 
    

非常感谢!

I got 3 items (hits, num_of_people, degree) to update while the people click 3 different buttons

And as you know, the SQL query are almost the same, just like:

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

What I want to ask is that:

  • Should I write 3 different stored procedures,
    or
  • Should I set a parameter that distinguishes these 3 process, maybe something like:

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

Thanks so much!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

人事已非 2024-10-25 03:37:15

编写三个不同的存储过程。

首先,随着时间的推移,这是一个更稳健的设计 - 例如,稍后当您的需求略有变化时,您可以仅修改适当的存储过程。

Write three different stored procs.

Firstly this is a more robust design over time - for instance, later when yours needs change slightly you can modify only the appropriate stored proc.

伤感在游骋 2024-10-25 03:37:15

我不认为你可以在 SQL 查询中绑定表名或列名。绑定通常是为 ID 值等参数保留的,而不是为列名称保留的。

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

I don't think you can bind table or column names in SQL queries. Binding is usually reserved for parameters like the ID value, not the name of the column.

With that said, I'd write three separate INSERT statements for each independent operation. Whether or not you choose to implement them using stored procedures is your choice.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文