oracle返回插入的id,oracleinsert的时候返回插入的ID

这篇博客详细介绍了如何在PL/SQL中创建和实现一个名为`Pro_Test_User`的过程包,该过程包包含一个名为`Ins_Test_User`的存储过程。此过程用于插入`Test_User`表的数据,同时返回操作状态码和消息。过程首先进行参数检查,然后执行插入操作,并通过`DBMS_OUTPUT.PUT_LINE`打印插入的ID。如果在过程中遇到任何异常,则会捕获并返回错误信息。
摘要由CSDN通过智能技术生成

//----------------  声明部分  ----------------

create or replace package Pro_Test_User is

PROCEDURE Ins_Test_User(I_ID IN VARCHAR2,I_NAME IN VARCHAR2,I_AGE IN VARCHAR2,O_RET_CODE OUT NUMBER,O_RET_MSG OUT VARCHAR2);

end Pro_Test_User;

//----------------  BODY部分  ----------------

create or replace package body Pro_Test_User is

PROCEDURE Ins_Test_User(I_ID IN VARCHAR2,

I_NAME IN VARCHAR2,

I_AGE IN VARCHAR2,

O_RET_CODE OUT NUMBER,

O_RET_MSG OUT VARCHAR2)IS

v_id Test_User.ID%type;

BEGIN

O_RET_CODE:=0;

O_RET_MSG:='初始化默认成功';

IF I_ID IS NOT NULL AND I_NAME IS NOT NULL AND I_AGE IS NOT NULL THEN

INSERT INTO Test_User(ID,NAME,AGE) VALUES (I_ID,I_NAME,I_AGE) returning ID into v_id;

dbms_output.put_line(v_id);

COMMIT;

O_RET_CODE:=0;

O_RET_MSG:='操作成功';

ELSE

O_RET_CODE:=1;

O_RET_MSG:='没有ID|姓名|年龄';

END IF;

EXCEPTION

WHEN OTHERS THEN

O_RET_CODE:=-1;

O_RET_MSG:='sql执行过程出错啦!';

END Ins_Test_User;

end Pro_Test_User;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值