Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 存储过程采用或变量?_Sql Server 2005_Stored Procedures - Fatal编程技术网

Sql server 2005 存储过程采用或变量?

Sql server 2005 存储过程采用或变量?,sql-server-2005,stored-procedures,Sql Server 2005,Stored Procedures,我在这里使用SQLServer2005,我想知道是否有一种方法可以使存储过程将变量a或变量b作为其参数 现在,如果我声明A和B,它需要A和B。可以用A或B来代替吗?所以如果另一个没有值,它就使用另一个 例: 谢谢 create procedure MyProcedure ( @ID VARCHAR(255) = NULL, @MAKE VARCHAR(255) = NULL ) AS SET NOCOUNT ON SELECT * FR

我在这里使用SQLServer2005,我想知道是否有一种方法可以使存储过程将变量a或变量b作为其参数

现在,如果我声明A和B,它需要A和B。可以用A或B来代替吗?所以如果另一个没有值,它就使用另一个

例:

谢谢

create procedure MyProcedure
(
    @ID VARCHAR(255) = NULL,
    @MAKE VARCHAR(255) = NULL
)  
AS  

    SET NOCOUNT ON  

    SELECT *  
    FROM CARS   
    WHERE 
        (@ID IS NOT NULL AND ID = @ID)
        OR 
        (@MAKE IS NOT NULL AND MAKE =@MAKE)
我很确定您可以使用NULL调用函数

而且,还要这样做:

@ID VARCHAR(255) = NULL
@MAKE VARCHAR(255) = NULL
请阅读以下内容:

我很确定您可以使用NULL调用函数

而且,还要这样做:

@ID VARCHAR(255) = NULL
@MAKE VARCHAR(255) = NULL

阅读以下内容:

存储过程可以采用可选参数

create procedure mysp
    @a varchar(255) = NULL,
    @b varchar(255) = NULL
as begin
   select * 
   from cars 
   where (a = @a and @a is not NULL) or 
               (b = @b and @b is not NULL);
end;

存储过程可以采用可选参数

create procedure mysp
    @a varchar(255) = NULL,
    @b varchar(255) = NULL
as begin
   select * 
   from cars 
   where (a = @a and @a is not NULL) or 
               (b = @b and @b is not NULL);
end;

在中编辑它。希望清除它,并在中对其进行编辑。希望一切都会好起来