如果我有这样的PL SQL过程:
Create Or Replace Procedure get_age (first_name varchar(40), last_name varchar(50))
Begin
Select age
From Person
Where first = first_name AND last = last_name;
End;不能保证用户将传入first_name和last_name变量的值。
如何在上面的过程中说明这一点,因为如果这些变量中的任何一个没有值,我就不希望查询的first_name子句中的Where或last_name。
发布于 2016-05-29 04:03:59
您的查询与现在一样良好,您可以在WHERE子句中接受空值:
Where (first = first_name OR first_name is NULL) AND (last = last_name OR last_name in NULL);通过这种方式,用户可以输入名字和姓氏,只输入名字或姓氏,或者两者都不输入,结果将按预期的方式选择。
发布于 2016-05-30 09:27:50
创建或替换过程get_age (first_name varchar(40)默认null,last_name varchar(50)默认null)
开始
选择年龄从第一= nvl(first_name,第一)和最后= nvl(last_name,最后);
结束;
https://stackoverflow.com/questions/37505967
复制相似问题