gpt4 book ai didi

sql-server - 这是在存储过程中使用可选参数的正确方法吗?

转载 作者:行者123 更新时间:2023-12-03 09:43:43 25 4
gpt4 key购买 nike

我有一个非常大的应用程序,更改对此过程的每次调用都会让人头疼,因此我试图为该过程设置一个可选参数。这是程序的前两行

ALTER PROCEDURE [dbo].[sp_get_entity_list]
@entityid int , @entitycat int, @adminTab bit = 0, @root int = 0

在代码中调用过程时,通常是调用

"EXEC sp_get_entity_list " & EntityID & ", " & EntityCAT 

但在某些情况下,我需要传递一个位类型参数以显示它来自不同的位置 - 我通过使用

来调用它
"EXEC sp_get_entity_list " & EntityID & ", " & EntityCAT & ",1"

我做错了什么吗?我不确定这是否是传递可选参数的正确方法,我希望将 adminTab 设置为 false(或 null,无关紧要),除非我传递可选参数。谢谢。

最佳答案

我认为在执行存储过程时最好包含每个参数的名称,例如:

EXEC sp_get_entity_list @entityid=" + EntityID + ", @entitycat=" + EntityCAT

这意味着 SQL 确切地知道您指的是哪些参数。

因此,如果您有可选参数,则无需包含每个参数,如果您希望使用默认值:

EXEC sp_get_entity_list @EntityID=" & EntityID & ", @root=1

关于sql-server - 这是在存储过程中使用可选参数的正确方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8313145/

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