mysql存储过程传多个参数,但并不是所有参数全输入,这要怎么写,
不输入的时候默认为空,然后判断为空的时候,最后有一个select语句对传入参数进行查询,执行的时候参数怎么输入?BEGIN#Routinebodygoeshere...S...
不输入的时候默认为空,然后判断为空的时候,最后有一个select语句对传入参数进行查询,执行的时候参数怎么输入?
BEGIN
#Routine body goes here...
SELECT * FROM computer_prod WHERE CPU_numb=IFNULL(cpuNumb,TRUE) AND hard_disk_capacity=IFNULL(hardDiskCapacity,TRUE) AND memory_capacity=IFNULL(memoryCapacity,TRUE) AND CPU_freq=IFNULL(cpuFreq,TRUE)
And memory_clock=IFNULL(memoryClock,TRUE) AND memory_interface=IFNULL(memoryInterface,TRUE);
END 展开
BEGIN
#Routine body goes here...
SELECT * FROM computer_prod WHERE CPU_numb=IFNULL(cpuNumb,TRUE) AND hard_disk_capacity=IFNULL(hardDiskCapacity,TRUE) AND memory_capacity=IFNULL(memoryCapacity,TRUE) AND CPU_freq=IFNULL(cpuFreq,TRUE)
And memory_clock=IFNULL(memoryClock,TRUE) AND memory_interface=IFNULL(memoryInterface,TRUE);
END 展开
1个回答
展开全部
mysql> DELIMITER //
mysql> CREATE PROCEDURE HelloWorld2(
-> IN vUserName VARCHAR(10),
-> OUT vOutValue VARCHAR(10),
-> INOUT vInOutValue VARCHAR(10))
-> BEGIN
-> SELECT CONCAT('Hello ', vUserName);
-> SET vOutValue = 'A';
-> SET vInOutValue = 'B';
-> END//
Query OK, 0 rows affected (0.00 sec)
mysql> call HelloWorld2('Edward', @a, @b)//
+-----------------------------+
| CONCAT('Hello ', vUserName) |
mysql> CREATE PROCEDURE HelloWorld2(
-> IN vUserName VARCHAR(10),
-> OUT vOutValue VARCHAR(10),
-> INOUT vInOutValue VARCHAR(10))
-> BEGIN
-> SELECT CONCAT('Hello ', vUserName);
-> SET vOutValue = 'A';
-> SET vInOutValue = 'B';
-> END//
Query OK, 0 rows affected (0.00 sec)
mysql> call HelloWorld2('Edward', @a, @b)//
+-----------------------------+
| CONCAT('Hello ', vUserName) |
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |