【发布时间】:2017-11-08 07:29:42
【问题描述】:
我要做的是,每当输入STORE_CODE 时,它都会检查数据库并删除商店代码。所以为此,我写了一个如下的程序
PROCEDURE DELETE_STORE_INFO
(
P_STORE_CODE IN NVARCHAR2
)
AS
BEGIN
UPDATE TBL_RRSOC_STORE_INFO set ISACTIVE = 'N' where STORE_CODE = P_STORE_CODE;
END DELETE_STORE_INFO;
但这里缺少的是
如果用户输入了错误的
store_code并执行了操作,它会怎么做。如何检查那部分?
我猜COUNT 的某些东西在这个阶段不会起作用。请推荐
【问题讨论】:
-
因此您构建了一个逻辑来检查传递的输入字符串是否有效。让我们知道您期望的格式,然后您可以在删除语句中使用它之前进行检查
-
@XING:是的,你说的是哪种格式?列的数据类型?
-
您将输入作为
NVARCHAR2传递,这表明您的代码有一些特殊的双字节字符,因此列必须是NVARCHAR2。我正在谈论您的STORE_CD的格式/模式,您希望针对输入字符串进行验证以检查其是否有效 -
另外,
update ....returning isactive into o_isactive可能是这样,但问题还不够清楚。
标签: oracle stored-procedures plsql