Com*_*Guy 4 t-sql sql-server-2008
我有一个从 .aspx.cs 页面调用的存储过程。我有一个参数,在调用 sproc 时有时无法发送。因此,我正在执行以下操作:
IF @variable is null
BEGIN
...do this...
END
Else
...do that...
Run Code Online (Sandbox Code Playgroud)
我的问题出在 IF 语句中。据我所知,当我使用以下任何一项时:
if @parameterVariable = nullif @parameterVariable = ''if @parameterVariable <= 0没发生什么事!?当我在 SSMS 中调试 sproc 时,我发现(即使参数为空(没有用户选择))光标会转到并运行 ELSE 语句中的代码。难道我做错了什么?
谢谢!
使用可选参数:
CREATE PROCEDURE uspTest
@param1 varchar(50) = null,
AS
BEGIN
SELECT col1, col2
FROM Table1
WHERE
((@Param1 IS NULL) OR (col1 = @Param1))
END
Run Code Online (Sandbox Code Playgroud)