我想问一下,在数据库中插入/更新/删除数据,直接使用数据层的查询或为每次插入和删除创建存储过程,哪种方法更好?
问问题
315 次
2 回答
1
您的问题完全取决于您正在谈论的查询类型。
对于没有需要遵循的数据库端规则的单个表上的简单 CRUD 操作,直接
SELECT
、、UPDATE
或DELETE
语句都可以。对于更复杂的操作,例如当您的数据库应用规范化并访问多个表时,存储过程是值得的。(事实上,“仅在值得额外工作时才使用存储过程”是一个很好的规则。)
对于单个查询调用中多行的简单 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 回答