gpt4 book ai didi

stored-procedures - 存储过程参数默认值

转载 作者:行者123 更新时间:2023-12-04 07:50:52 25 4
gpt4 key购买 nike

我正在尝试使用默认参数创建一个存储过程,在我的查询中我会这样做:

DECLARE @mydate DATETIME
DECLARE @MT DATETIME
DECLARE @MY DATETIME
SELECT @mydate = GETDATE()
SELECT @MT = DATEPART(MONTH,@mydate)
SELECT @MY = DATEPART(YEAR,@mydate)

SELECT * FROM ....

在我的存储过程中,我按如下方式尝试过,但是当我执行存储过程时,它会提示我输入参数值:
USE ..
GO
..
ALTER PROCEDURE ...
(@mydate DATETIME
,@MT DATETIME
,@MY DATETIME)

AS
BEGIN ...
SELECT @mydate = GETDATE()
SELECT @MT = DATEPART(MONTH,@mydate)
SELECT @MY = DATEPART(YEAR,@mydate)
---
SELECT * FROM ....

如何像在查询中一样在存储过程中设置参数值?

最佳答案

尝试这个..

我只放了一个参数,因为其他参数都依赖于它。

第一种方法

USE ..
GO
..
ALTER PROCEDURE yourSP
(@mydateParam DATETIME)

AS
BEGIN ...
SELECT @mydate = @mydateParam
SELECT @MT = DATEPART(MONTH,@mydate)
SELECT @MY = DATEPART(YEAR,@mydate)
---
SELECT * FROM ....

调用 SP:
DECLARE @mydateParam DATETIME
SELECT @mydateParam = GETDATE()
execute yourSP @mydateParam

第二种方法
ALTER Procedure yourSP
@mydateParam datetime = null
AS
BEGIN ...
IF @mydateParam is null
SET @mydateParam = getdate()
SELECT @mydate = @mydateParam
SELECT @MT = DATEPART(MONTH,@mydate)
SELECT @MY = DATEPART(YEAR,@mydate)

---
SELECT * FROM ....

调用 SP:
DECLARE @mydateParam DATETIME
SELECT @mydateParam = GETDATE()
execute yourSP @mydateParam

或者
execute yourSP

关于stored-procedures - 存储过程参数默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11885960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com