Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          導航

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          公告


          我的blog中的部分資源是來自于網絡上,如果你認為侵犯了你的權利,請及時聯系jelver#163.com,我會盡快刪除!另外如果要留言最好通過郵件的形式跟我交流因為我不是很經常寫文章,前面有的朋友留言好久了我才發現,所以對不住大家,現在留下MSN:jelver#163.com和QQ:253840881,歡迎交流! (用@代替#)

          隨筆分類

          文章分類

          隨筆檔案

          文章檔案

          相冊

          統計

          留言簿(23)

          積分與排名

          優秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          Oracle觸發器及sql使用技巧

          很久沒有玩這些玩意了,順記錄下WJ兄編寫的觸發器,大致實現的功能就是:當用戶網terminal表插入一條記錄時候順便網ftp_user表插入一條記錄,而后者表中
          需要用到terminal表中的部分字段內容比如terminalseril字段,其中:new.terminalseril表示就是terminal表中新插入的這條記錄的terminalseril值。現在對關鍵字做一下說明 :NEW 和:OLD使用方法和意義,new 只出現在insert和update時,old只出現在update和delete時。在insert時new表示新插入的行數據,update時new表示要替換的新數據、old表示要被更改的原來的數據行,delete時old表示要被刪除的數據。觸發器類型大致分為:事前觸發和事后觸發,具體可以google更詳細。

          create or replace trigger tib_terminal_insertFtp before insert
          on Terminal for each row
          declare
              integrity_error  exception;
              errno            
          integer;
              errmsg           
          char(200);
          begin
              
          insert into FTP_USER (userid, userpassword,homedirectory, enableflag, writepermission, idletime, 

          uploadrate,downloadrate,maxloginnumber,maxloginperip)
                              
          VALUES (:new.terminalseril, 'E10ADC3949BA59ABBE56E057F20F883E', concat('/usr/local/ftproot/',:new.terminalseril), 110204802048055);
          --  Errors handling
          exception
              
          when integrity_error then
                 raise_application_error(errno, errmsg);
          end;

          注意,如果要對在不同表空間的其他表進行插入操作,則需要具備有足夠的權限,否則觸發器編譯會不通過。

          另外下面是一個常有的sql語句,就是從當期的某個表選擇數據插入另外一個表的常用方式:
           insert into ftp_user(userid,userpassword,homedirectory,enableflag,writepermission,idletime,uploadrate,downloadrate,maxloginnumber,maxloginperip)  
          select distinct t.seril,'E10ADC3949BA59ABBE56E057F20F883E',
          '/usr/local/ftproot/'||t.seril,
           
          1,1,0,20480,20480,0,0 from terminal t
          即將terminal表中的部分數據內容插入ftp_user用戶之中。

          posted on 2010-01-29 20:07 都市淘沙者 閱讀(402) 評論(0)  編輯  收藏 所屬分類: Oracle/Mysql/Postgres/

          主站蜘蛛池模板: 平和县| 松江区| 商丘市| 诏安县| 温州市| 延吉市| 区。| 北海市| 鄯善县| 赤壁市| 蒲江县| 浪卡子县| 镇赉县| 大安市| 西青区| 阿鲁科尔沁旗| 高尔夫| 同德县| 吐鲁番市| 邛崃市| 潮州市| 长岭县| 迭部县| 原阳县| 隆化县| 阳东县| 内丘县| 丽江市| 建德市| 金川县| 双辽市| 防城港市| 巴里| 青铜峡市| 铜鼓县| 礼泉县| 科尔| 凤城市| 垦利县| 休宁县| 湘乡市|