必胜高考网_全国高考备考和志愿填报信息平台

必勝高考網 > 計算機類 > 計算機等級 > 資訊 >

數據庫工程師復習重點:數據庫對象

時間: 家輝2 資訊

  1、 在關系數據庫中,SQL語言是應用程序和數據庫管理之間的主要編程接口;

  2、 使用SQL語言編寫代碼時,可用兩種方法存儲和執行代碼:

  (1) 在客戶端存儲代碼,并創建向數據庫管理系統發送SQL命令,并處理返回結果的應用程序;

  (2) 將這些發送的SQL語句存儲在數據庫管理系統中,這些存儲在數據庫管理系統中的SQL語句就是存儲過程,然后再創建執行存儲過程并處理返回結果的應用程序。

  3、 使用存儲過程的好處:

  (1) 模塊化程序設計:只需創建一次存儲過程并將其存儲在數據庫中,以后就可以在應用程序中多次調用存儲過程;

  (2) 提高性能:系統在創建存儲過程時對其進行分析和優化,并在第一次執行時進行語法檢查和編譯,編譯好的代碼放入內存中,以后再執行此存儲過程時,只需直接執行內存中的代碼,從而提高代碼的執行效率;

  (3) 減少網絡流量:一個需要數百行SQL代碼完成的操作現在只需一條執行存儲過程的代碼即可實現,因此,不再需要在網絡中發送這些多語句;

  (4) 可作為安全機制使用:

  13.1.2 創建和執行存儲過程

  1、 創建存儲過程的SQL語句為:CREATE PROCEDURE,語法格式為:

  CREATE PROCEDURE 存儲過程名

  [{@ 參數名 數據類型}[=default][OUTPUT]

  ][,…n]

  AS

  SQL語句[…n]

  其中:

  (1) default:表示參數的默認值。如果定義了默認值,則在執行存儲過程時,可以不必指定該參數的值,默認值必須是常量或NULL;

  (2) OUTPUT:表明參數是輸出參數,該選項的值可以返回給存儲過程的調用者。

  2、執行存儲過程的SQL語句是EXECUTE,語法格式:

  CREATE EXECUTE 存儲過程名 [實參[,OUTPUT][,…n]]

  1、 執行有多個輸入參數的存儲過程時,參數的傳遞方式有兩種:

  (1) 按參數位置傳遞值:指執行存儲過程的EXEC語句中的實參的排列順序必須與定義存儲過程時定義的參數的順序一致;

  (2) 按參數名傳遞值:指執行存儲過程的EXEC語句中要指明定義存儲過程時指定的參數的名字以及此參數的值,而不關心參數的定義順序。

  2、 注意:

  (1) 在執行有輸出參數的存儲過程時,執行語句中的變量名的后邊要加上OUTPUT修飾符;

  (2) 在調用有輸出參數的存儲過程時,與輸出參數對應的是一個變量,此變量用于保存輸出參數返回的結果;

  13.2 用戶自定義函數

  13.2.1 基本概念

  1、 用戶定義函數可以擴展數據操作的功能,它在概念上類似于一般的程序設計語言中定義的函數。

  13.2.2 創建和調用標量函數

  標量函數—返回單個數據值的函數;

  1、定義標量函數

  CREATE FUNCTION [擁有者名.] 函數名

  ([{@ 參數名[AS]標量數據類型[=default]}[,…n]])

  RETURNS 返回值類型

  [AS]

  BEGIN

  函數體

  RETURN 標量表達式

  END

  (1) 同存儲過程一樣,函數的參數也可以有默認值。

  (2) 標量表達式:指定標量函數返回的標量值。

  2、 調用標量函數:

  當調用標量函數時,必須提供至少由兩部分組成的名稱:函數擁有者名和函數名。可在任何允許出現表達式的SQL語句中調用標量函數,只要類型一致;

  13.2.3 創建和調用內嵌表值函數

  1、 創建內嵌表值函數,其語法為:

  CREATE FUNCTION [擁有者名.] 函數名

  ([{@ 參數名[AS]標量數據類型[=default]}[,…n]])

  RETURNS 返回變量 TABLE <表定義>

  [AS]

  BEGIN

  函數體

  RETURN

  END

  <表定義>::=({列定義|表約束}[,…n])

  2、調用多語句表值函數

  多語句表值函數的返回值是一個表,因此對多語句表值函數的使用也是放在SELECT語句的FROM子句中。

  13.3 觸發器

  13.3.1 觸發器基本概念

  1、 觸發器是一種特殊的存儲過程,其特殊性在于它不需要由用戶來調用,而是當用戶對表中的數據進行UPDATE、INSERT或DELETE操作時自動觸發執行;

  2、 觸發器常用于下列場合:

  (1) 完成比CHECK的約束更復雜的數據約束;

  (2) 為保證數據庫性能而維護的非規范化數據;

  (3) 實現復雜的業務規則,可使業務的處理任務自動進行。

  13.3.2 創建觸發器

  1、 創建觸發器的語句:CREATE TRIGGER,語法為:

  CREATE TRIGGER 觸發器名稱

  ON {表名| 視圖名}

  [WITH ENCRYPTION]

  {FOR |AFTER|INSTEAD OF}{[INSERT][,][DELETE][,][UPDATE]}

  AS

  [{IF UPDATE(column)…}]

  SQL語句

  (1) 觸發器名稱在數據庫中必須是惟一的;

  (2) ON子句用于指定在其上執行觸發器的表;

  (3) AFTER:指定觸發器只有在引發的SQL語句中指定的操作都已成功執行,并且所有的約束檢查也成功完成后,才執行此觸發器,這種觸發器稱為后觸發型觸發器;

  (4) FOR:作用同AFTER;

  (5) INSTEAD OF:指定執行觸發器而不是執行引發觸發器執行的SQL語句,從而替代觸發語句的操作,這種觸發器稱為前觸發型觸發器;

  (6) INSTERT、DELETE或UPDATE是引發觸發器執行的操作,若同時指定多個操作,則各操作之間用逗號分隔;

  2、 創建觸發器時,需要注意:

  (1) 在一個表上可以建立多個名稱不同、類型各異的觸發器,每個觸發器可由三個操作引發;

  (2) 大部分Transact-SQL語句都可用在觸發器中,但也有一些限制;

  (3) 在觸發器定義中,可以使用IF UPDATE子句測試在INSERT和UPDATE語句中是否對指定字段有影響;

  (4) 通常不要在觸發器中返回任何結果。

  3、 創建后觸發型觸發器

  使用FOR或AFTER選項定義的觸發器為后觸發的觸發器,即只有在引發觸發器執行語句中指定的操作都已完成執行,并且所有的約束檢查也成功完成后,才執行的觸發器;

  4、 創建前觸發型觸發器

  使用INSTEAD OF 選項定義的觸發器為前觸發型觸發器,在該觸發器中,指定執行觸發器而不是執行引發觸發器執行的SQL語句,從而替代引發語句的操作。

  13.4 查看、修改及刪除對象

  13.4.1 查看對象

  對于創建好的存儲過程、函數可通過企業管理器和查詢分析器查看這些對象的代碼;

  13.4.2 修改對象

  1、 修改存儲過程:ALTER PROCEDURE

  ALTER PROC 存儲過程名

  [{@參數名 數據類型}[=default][OUTPUT]][,…n]

  AS

  SQL語句[…n]

  修改與定義的語句基本一致,只將CREARE PROC 改成ALTER PROC;

  2、修改用戶自定義函數:

  修改與定義的語句基本一致,只將CREARE FUNCTION 改成ALTER FUNCTION;

  3、修改觸發器:

  修改與定義的語句基本一致,只將CREARE TRIGGER 改成ALTER TRIGGER;

  13.4.3 刪除對象

  1、 刪除存儲過程:

  DROP PROCEDURE {存儲過程名}[,…n];

  2、刪除用戶自定義函數

  DROP FUNCTION {[擁有者名.]函數名}[,…n]

  3、刪除觸發器

  DROP TRIGGER {觸發器名}[,…n]

56848 主站蜘蛛池模板: 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 精密模具制造,注塑加工,吹塑和吹瓶加工,EPS泡沫包装生产 - 济南兴田塑胶有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 减速机电机一体机_带电机减速器一套_德国BOSERL电动机与减速箱生产厂家 | 数显水浴恒温振荡器-分液漏斗萃取振荡器-常州市凯航仪器有限公司 | 气动调节阀,电动调节阀,自力式压力调节阀,切断阀「厂家」-浙江利沃夫自控阀门 | 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 中医治疗皮肤病_潍坊银康医院「山东」重症皮肤病救治平台 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | Jaeaiot捷易科技-英伟达AI显卡模组/GPU整机服务器供应商 | 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 | 400电话_400电话申请_866元/年_【400电话官方业务办理】-俏号网 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 昆明挖掘机修理厂_挖掘机翻新再制造-昆明聚力工程机械维修有限公司 | 福州仿石漆加盟_福建仿石漆厂家-外墙仿石漆加盟推荐铁壁金钢(福建)新材料科技有限公司有保障 | 化工ERP软件_化工新材料ERP系统_化工新材料MES软件_MES系统-广东顺景软件科技有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 14米地磅厂家价价格,150吨地磅厂家价格-百科 | 昊宇水工|河北昊宇水工机械工程有限公司 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 澳威全屋定制官网|极简衣柜十大品牌|衣柜加盟代理|全屋定制招商 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 紧急切断阀_气动切断阀_不锈钢阀门_截止阀_球阀_蝶阀_闸阀-上海上兆阀门制造有限公司 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 中医治疗皮肤病_潍坊银康医院「山东」重症皮肤病救治平台 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 首页|成都尚玖保洁_家政保洁_开荒保洁_成都保洁 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 深圳APP开发公司_软件APP定制开发/外包制作-红匣子科技 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 警用|治安|保安|不锈钢岗亭-售货亭价格-垃圾分类亭-移动厕所厂家-苏州灿宇建材 | PTFE接头|聚四氟乙烯螺丝|阀门|薄膜|消解罐|聚四氟乙烯球-嘉兴市方圆氟塑制品有限公司 | 选矿设备-新型重选设备-金属矿尾矿重选-青州冠诚重工机械有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 法兰螺母 - 不锈钢螺母制造厂家 - 万千紧固件--螺母街 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 |