【问题标题】:Testing a procedure? [closed]测试程序? [关闭]
【发布时间】:2013-04-10 14:42:35
【问题描述】:

我是 PL/SQL 的新手,我认为我在我的包体内创建了一个过程,当我在 SQL 命令中运行它时,它说它已成功创建,我只是不确定如何测试它?

过程是根据客户的 ID 删除客户

这里是代码

 PROCEDURE remove_customer (customer_id VARCHAR2) IS
 BEGIN
 DELETE FROM customer 
 WHERE customer.customer_id = remove_customer.customer_id;
 END;

关于如何测试它的任何想法?

谢谢

【问题讨论】:

  • 存在于包体中但不包含在包体中的过程定义是私有的,不能在包体之外访问。

标签: sql oracle plsql procedure


【解决方案1】:

您可以从anonymous block 运行它:

begin
    your_package.remove_customer('CUST_ID');
end;
/

如果您使用的是 SQL*Plus 或 SQL Developer,则可以使用 execute 命令的简写方式:

exec your_package.remove_customer('CUST_ID');

然后检查您尝试删除的客户是否不再在表中...

【讨论】:

  • 最后一句话是很多开发人员在测试中忘记的关键步骤。
【解决方案2】:

您只需将其运行为:

begin
  your_package_name.remove_customer('abc');
  -- commit; -- optional if you want to commit it.
end;
/

【讨论】:

  • 您好,感谢您的帮助。我会尽可能将其标记为已回答
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-25
  • 2010-10-24
  • 2017-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多