c# - 无法执行程序和程序包
问题描述
我无法在 TOAD 中执行程序和包。谁能帮帮我。如何执行程序和包给我一些关键点
解决方案
TOAD(最初)= Oracle 应用程序开发人员的工具。
如今,其他 DBMS 也有 TOAD 版本。“过程和包”听起来很像“数据库”。那么,C# 标签在这里做什么呢?
从 Oracle 开始:运行存储过程的正确方法是将其名称包含在BEGIN-END
块中,提供参数(如果有的话;两者都IN
包括OUT
在内)并将其作为脚本运行(键盘上的 F9)。
例如:
-- create a procedure
create or replace procedure p_test_1 (par_empno in emp.empno%type) is
begin
null;
end;
-- run it in TOAD
begin
p_test_1(1234);
end;
如果有OUT
参数,则必须声明一个变量来接受它:
-- create a procedure
create or replace procedure p_test_2 (par_empno in emp.empno%type,
par_ename out emp.ename%type) is
begin
select e.ename
into par_ename
from emp e
where e.empno = par_empno;
end;
-- run it in TOAD
declare
l_ename emp.ename%type;
begin
p_test_1(1234, l_ename);
end;
属于包的过程/函数也是如此- 但实际上是一样的。唯一的区别是您必须在程序名称前面加上包名称。例如:
-- create a package specification
create or replace package pkg_test is
procedure p_test_1;
end;
-- create a package body (with all its procedures, functions, ...)
create or replace package body pkg_test is
procedure p_test_1 is
begin
null;
end;
end;
-- call it
begin
pkg_Test.p_test_!;
end;
推荐阅读
- java - 类型不匹配:无法从 Flux 转换
到单声道 - c# - Unity Destroying Instantiated clone 停止实例化
- python - 如何匹配特定字符并在它们遵循模式时排除它们
- java - 我们能否以及如何将 apache nifi 流文件及其属性保存到磁盘,以便我们可以使用/重新读取它们以用于自定义处理器单元测试用例
- java - Java 客户端调用 jar 文件中的算法,该 jar 文件是 Java Spring 中 Web 界面的一部分
- python - 如何让 TouchSensor 嵌套在 Webots 的关节下(Python API)
- java - 无法添加具有多个参数的 ArrayList
- javascript - 如何使用“catch”方法扩展 jQuery 的 $.Deferred promise 对象,其工作方式与其“fail”方法相同?
- angular - 在 Angular 7 中生成动态 html
- javascript - 使用 javascript MediaRecorder 记录块