我想问一下哪种更好的方法是将数据插入/更新/删除到数据库中,直接从数据层使用查询或为每次插入和删除创建存储过程?
答案 0 :(得分:1)
您的问题取决于完全您所谈论的查询类型。
对于没有需要遵循的数据库方规则的单个表上的简单CRUD操作,直接SELECT
,UPDATE
或DELETE
语句都可以。
对于更复杂的操作,例如当数据库应用规范化并访问多个表时,存储过程是值得的。 (事实上,“只有当它们值得额外工作时才使用存储过程”是一个很好的规则。)
对于单个查询调用中多行的简单CRUD,除非您想要使用XML,否则程序查询是唯一的方法。
(对于您将要使用记录集感知界面的简单CRUD,要么应该正常工作。)
答案 1 :(得分: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选择”,“软删除”,“硬删除”等...