首页 > 解决方案 > 无法执行程序和程序包

问题描述

我无法在 TOAD 中执行程序和包。谁能帮帮我。如何执行程序和包给我一些关键点

标签: 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;

推荐阅读