gpt4 book ai didi

oracle - SQL Developer Oracle,如何调用程序?

转载 作者:行者123 更新时间:2023-12-03 19:55:24 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Calling a stored PROCEDURE in Toad

(2 个回答)


5年前关闭。




我有这样的声明功能:

CREATE or replace PROCEDURE proc
(
P_ID IN INTEGER,
NAME OUT CHAR,
SURNAME OUT CHAR,
TOTAL OUT CHAR
)
AS
BEGIN
SELECT NAME, SURNAME, sum(TOTAL) AS TOT
INTO NAME,SURNAME,TOTAL
FROM STATISTICS, PLAYERS, PERSON
WHERE STATISTICS.SID=P_ID AND PERSON.ID=PLAYERS.SID AND
STATISTICS.PLAYERS_SID=PLAYERS.SID
GROUP BY NAME,SURNAME;
END;

Select 语句可以正常工作,但是如何在 Oracle 中调用此过程?

我试过类似的东西
EXEC proc(4);


DECLARE
NAME OUT CHAR,
SURNAME OUT CHAR,
TOTAL OUT CHAR

BEGIN
P_ID := 12 ;
proc (
P_ID => P_ID,
NAME => NAME,
SURNAME => SURNAME,
TOTAL => TOTAL
);
END;

但没有任何成功。

最佳答案

EXEC proc(4);



执行 SQL*Plus命令。

您有以下选择:
  • 执行 在 SQL*Plus 中
  • 调用 匿名 PL/SQL 堵塞。
  • 运行 SQL 开发人员 客户端工具

  • 让我们看看所有三种方式:

    SQL*Plus :
    SQL> variable v_ename varchar2(20);
    SQL> exec get_emp(7788, :v_ename);

    PL/SQL procedure successfully completed.

    SQL> print v_ename;

    V_ENAME
    --------------------------------
    SCOTT

    匿名 PL/SQL 块 :
    SQL> CREATE OR REPLACE PROCEDURE get_emp(
    2 i_empno IN emp.empno%TYPE,
    3 o_ename OUT emp.ename%TYPE)
    4 AS
    5 BEGIN
    6 SELECT ename INTO o_ename FROM emp WHERE empno = i_empno;
    7 END;
    8 /

    Procedure created.

    SQL> SET serveroutput ON
    SQL> DECLARE
    2 v_ename VARCHAR2(20);
    3 BEGIN
    4 get_emp(7788, v_ename);
    5 dbms_output.put_line('Employee name is '||v_ename);
    6 END;
    7 /
    Employee name is SCOTT

    PL/SQL procedure successfully completed.

    SQL 开发人员 客户端工具:
  • 转至 连接 在左侧 Pane 中。
  • 展开 手续 .

  • enter image description here
  • 右键单击 在程序上选择“运行”。

  • enter image description here
  • 它将打开一个新窗口,提供 输入值 然后点击 好的 .

  • enter image description here
  • 输出将显示在 输出日志 在底部为“ 输出变量”。

  • enter image description here

    关于oracle - SQL Developer Oracle,如何调用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33914618/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com