加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle

发布时间:2020-12-12 12:53:05 所属栏目:百科 来源:网络整理
导读:第8章 函数和过程 8.4、过程(2019-06-15) 1、存储过程向两张表中添加数据 -- 第一张表是avator表CREATE TABLE avatar( avatar_id NUMBER GENERATED AS IDENTITY CONSTRAINT avatar_kp PRIMARY KEY,--主键约束 avatar_name VARCHAR2(30));-- 第二张表是epis
 第8章 函数和过程
8.4、过程(2019-06-15)
1、存储过程向两张表中添加数据-- 第一张表是avator表 CREATE TABLE avatar( avatar_id NUMBER GENERATED AS IDENTITY CONSTRAINT avatar_kp PRIMARY KEY,--主键约束 avatar_name VARCHAR2(30) ); -- 第二张表是episode表 CREATE TABLE episode( episode_id NUMBER GENERATED AS IDENTITY CONSTRAINT episode_pk PRIMARY KEY,avatar_id NUMBER CONSTRAINT episode_nnl NOT NULL,--NOT NULL约束 episode_name VARCHAR2(30),CONSTRAINT episode_fkl FOREIGN KEY(avatar_id) REFERENCES avatar(avatar_id)--外键约束 ); --adding_contact过程显示了如何使用按值传递过程跨单个事务作用域管理多个DML语句: CREATE OR REPLACE PROCEDURE adding_avatar(pv_avatar_name VARCHAR2,pv_episode_name VARCHAR2) IS lv_avatar_id NUMBER; BEGIN SAVEPOINT all_or_none;--事务开始点 INSERT INTO avatar(avatar_name)VALUES(pv_avatar_name)RETURNING avatar_id INTO lv_avatar_id;--RETURNING INTO子句将标识列的值返回给局部变量 INSERT INTO episode(avatar_id,episode_name)VALUES(lv_avatar_id,pv_episode_name);--使用lv_avatar_id局部变量作为外键值 COMMIT;--提交 EXCEPTION--异常 WHEN OTHERS THEN ROLLBACK TO all_or_none;--回滚可能已经发生的事务 END; / --匿名块程序测试过程 BEGIN adding_avatar(‘Airbender‘,‘Episode 1‘); END; /

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读