温馨提示×

如何在Oracle存储过程中使用RETURNING

小樊
116
2024-08-22 06:13:29
栏目: 云计算

在Oracle存储过程中使用RETURNING语句可以在执行DML操作后返回指定的列值。以下是一个例子:

CREATE OR REPLACE PROCEDURE insert_data 
  (p_name IN VARCHAR2, p_age IN NUMBER, p_id OUT NUMBER)
AS
BEGIN
  INSERT INTO employee (name, age) VALUES (p_name, p_age) RETURNING id INTO p_id;
END insert_data;

在这个例子中,存储过程insert_data接收两个输入参数p_name和p_age,以及一个输出参数p_id。当存储过程执行时,它会将输入的数据插入到employee表中,并将插入的记录的id值返回给输出参数p_id。

要调用这个存储过程并获取返回值,可以使用如下的PL/SQL代码片段:

DECLARE
  v_id NUMBER;
BEGIN
  insert_data('John', 30, v_id);
  DBMS_OUTPUT.PUT_LINE('Inserted record with ID: ' || v_id);
END;

在这个例子中,我们调用了insert_data存储过程,并将返回的id值存储在变量v_id中,然后通过DBMS_OUTPUT输出这个值。

0