日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

序列、触发器和存储过程三者之间有啥关系

發(fā)布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 序列、触发器和存储过程三者之间有啥关系 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

序列、觸發(fā)器和存儲過程三者之間有啥關系?

好久沒用oracle數(shù)據庫了,今天復習了下oracle的序列、觸發(fā)器和存儲過程,之前對觸發(fā)器和存儲過程的概念有點模糊,今天來理理復習心得:存儲過程相當于打包好的sql語法,可以包含復雜的sql操作,在程序調用時只要執(zhí)行該存儲過程,一句話就可以完成復雜的數(shù)據庫操作.
觸發(fā)器是也是打包好的sql語法,是一種特殊類型的存儲過程,不由用戶直接調用。創(chuàng)建觸發(fā)器時會對其進行定義,以便在對特定表或列作特定類型的數(shù)據修改時執(zhí)行
另外:觸發(fā)器相對一般的存儲過程也多了一些在代碼編寫方面的不同,比如說CREATE TRIGGER 必須是批處理中的第一條語句,并且只能應用到一個表中等等。貌似必須要先創(chuàng)建序列才能再創(chuàng)建觸發(fā)器!

下面寫些序列、觸發(fā)器和存儲過程的代碼:

[sql] //創(chuàng)建序列 create sequence SEQ minvalue 1 maxvalue 999999999999999999999999999 start with 1 increment by 1 cache 20; 創(chuàng)建觸發(fā)器:[sql] //創(chuàng)建觸發(fā)器 create or replace trigger Tg before insert on user for each row declare begin select Seq.nextval into:New.ID from dual; end Tg; 創(chuàng)建存儲過程:[sql] //創(chuàng)建存儲過程 create or replace procedure Pro (v_name varchar2, v_pwd varchar2, v_role varchar2) is begin insert into user(ID,NAME,PASSWORD,ROLE) values(Seq.nextval,v_name,v_pwd,v_role);//user是表名 commit; end;

總結

以上是生活随笔為你收集整理的序列、触发器和存储过程三者之间有啥关系的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。