我肯定有一些合理的逻辑/最佳实践,但如果可能的话,我想向我解释一下。查看前一位员工编写的sql存储过程,他总是为每个参数声明一个变量,并将该变量设置为参数值,然后在存储过程的其余部分使用该变量。不只是使用参数和赋值给变量有什么附加值?
ALTER procedure [dbo].[sp_shipping]
(
@p_date varchar(10),
@p_status varchar(10),
@p_cust nvarchar(20)
)
as
set nocount on
declare @v_date datetime,
@v_status varchar(10),
@v_cust nvarchar(20)
select @v_date = convert(datetime,@p_date),
@v_status = @p_status,
@v_cust = @p_cust
1条答案
按热度按时间aij0ehis1#
这可能只是一种偏好/风格,但值得注意的是,它确实对@p\u date变量有影响,
如果无法将参数转换为datetime,并且它存储转换的结果,这样以后就不必在存储过程中重复转换,则会引发错误。