40、SQL Server 存储过程:创建、执行与结果返回全解析

SQL Server 存储过程:创建、执行与结果返回全解析

1. 存储过程基础与构建选项

存储过程为了向后兼容进行了扩展,允许定义带有默认值的新参数,这样就无需修改每个调用代码。当从如 .NET 、Excel 等代码中调用存储过程时,每个参数都需要命名。

存储过程首次运行且过程缓存中不存在现有计划时,会被编译成执行计划,这是 SQL Server 中的内部数据结构,描述了如何执行存储过程中请求的操作。SQL Server 会存储编译后的代码以供后续执行,节省时间和资源。若过程缓存中已有计划,SQL Server 将使用该计划。

不过,存储过程的 RECOMPILE 选项会指示 SQL Server 每次运行存储过程时都重新编译整个过程。通常,当参数会极大影响返回的行数时,可添加 RECOMPILE 选项,以强制优化器每次都生成最佳计划。

另一个选项是 ENCRYPTION 关键字,它可以对存储过程进行加密(至少是混淆),使存储过程的内容不易被查看。需注意, ENCRYPTION 并不保护数据,而是保护源代码不被检查和修改。 ENCRYPTION RECOMPILE 都以 WITH 关键字开头,可通过逗号分隔一起使用,示例代码如下:

CREATE PROCEDURE b_NS^N]^cWX]V
WITH ENCRYPTION, RECOMPILE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值