MsSql Server:存储过程中的默认 bigint 参数
MsSql Server: Default bigint argument in stored procedure
我想要一个带有可选参数的存储过程。默认值为 null
CREATE PROCEDURE [myStoredProcedure](@itemID bigint = NULL)
那我想用在COALESCE
COALESCE(@itemID, table.itemID) = table.itemID
这种方法对使用可选参数是否正确?这对 Oracle 是否同样有效?
虽然可以使用COALESCE()
,但我认为显式比较更典型:
where (t.itemId = @itemId or @itemId is null)
这两种方法都适用于 SQL 服务器或 Oracle,因为它们都是标准的 SQL。在 Oracle 中,参数不以 @
开头,存储过程的语法看起来可能完全不同。
我想要一个带有可选参数的存储过程。默认值为 null
CREATE PROCEDURE [myStoredProcedure](@itemID bigint = NULL)
那我想用在COALESCE
COALESCE(@itemID, table.itemID) = table.itemID
这种方法对使用可选参数是否正确?这对 Oracle 是否同样有效?
虽然可以使用COALESCE()
,但我认为显式比较更典型:
where (t.itemId = @itemId or @itemId is null)
这两种方法都适用于 SQL 服务器或 Oracle,因为它们都是标准的 SQL。在 Oracle 中,参数不以 @
开头,存储过程的语法看起来可能完全不同。