存储过程
存储过程是封装了T-SQL代码的服务器端例程。存储过程可以有输入和输出参数,可以返回多个查询的结果集,也允许调用具有副作用的代码。通过存储过程不但可以对数据进行修改,也可以对数据库架构进行修改。
和使用特定的普通代码相比,使用存储过程可以获得以下好处:
1.存储过程可以封装逻辑处理。如果需要修改存储过程的实现,则只要在数据库的一个地方进行修改,存储过程的所有用户就能够使用修改过的版本。
2.通过存储过程可以更好地控制安全性。可以授予用户执行某个存储过程的权限,而不是授予用户直接执行底层操作的权限。
3. 在存储过程中可以整合所有的错误处理,当有错误发生时,默默地进行纠正错误的操作。
4. 存储过程可以提高执行性能。
CREATE PROC dbo.usp_GetCustomerOrders
@custid AS INT,
@fromdate AS DATETIME='19000101',
@todate AS DATETIME='99991231',
@numrows AS INT OUTPUT
AS
SET NOCOUNT ON;
SELECT orderid,custid,empid,orderdate
FROM dbo.Orders
WHERE
custid=@custid
AND orderdate>=@fromdate
AND orderdate<@todate;
SET @numrows=@@rowcount;
GO
命令 SET NOCOUNT ON 用于禁止显示DML语句(如存储过程中的SELECT 语句)影响了多少行的消息。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步