1

我想问一下,在数据库中插入/更新/删除数据,直接使用数据层的查询或为每次插入和删除创建存储过程,哪种方法更好?

4

2 回答 2

1

您的问题完全取决于您正在谈论的查询类型。

  • 对于没有需要遵循的数据库端规则的单个表上的简单 CRUD 操作,直接SELECT、、UPDATEDELETE语句都可以。

  • 对于更复杂的操作,例如当您的数据库应用规范化并访问多个表时,存储过程是值得的。(事实上​​,“仅在值得额外工作时才使用存储过程”是一个很好的规则。)

  • 对于单个查询调用中多行的简单 CRUD,程序查询是唯一的方法,除非您想搞砸 XML。

  • (对于简单的 CRUD,您将使用记录集感知接口,两者都应该可以正常工作。)

于 2013-05-18T05:00:01.270 回答
0

我总是使用存储过程来做简单的 CRUD 操作

我曾经在一个 SP 内完成所有 CRUD 操作,希望对您有所帮助。

例如

create proc <procedure name>
(
  <parameterName> <datatype>=<default value if any>,
  @mode varchar(20)
)
as
begin

 if(@mode='Insert')
 begin

    --your query for insert
 end

 if(@mode='Update')
 begin

    --your query for update
 end

 if(@mode='Delete')
 begin

    --your query for delete
 end

 if(@mode='Select')
 begin

    --your query for Select
 end

end

您可以拥有更多“模式”,例如“按 id 选择”、“软删除”、“硬删除”等...

于 2013-05-18T11:11:01.467 回答