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

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

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

時間: 家輝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 主站蜘蛛池模板: 污泥烘干机-低温干化机-工业污泥烘干设备厂家-焦作市真节能环保设备科技有限公司 | 武汉宣传片制作-视频拍摄-企业宣传片公司-武汉红年影视 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 在线浊度仪_悬浮物污泥浓度计_超声波泥位计_污泥界面仪_泥水界面仪-无锡蓝拓仪表科技有限公司 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 谈股票-今日股票行情走势分析-牛股推荐排行榜 | 废气处理_废气处理设备_工业废气处理_江苏龙泰环保设备制造有限公司 | 河南新乡德诚生产厂家主营震动筛,振动筛设备,筛机,塑料震动筛选机 | 垃圾清运公司_环卫保洁公司_市政道路保洁公司-华富环境 | 分类168信息网 - 分类信息网 免费发布与查询 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 上海公司注册-代理记账-招投标审计-上海昆仑扇财税咨询有限公司 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | X光检测仪_食品金属异物检测机_X射线检测设备_微现检测 | 山东led显示屏,山东led全彩显示屏,山东LED小间距屏,临沂全彩电子屏-山东亚泰视讯传媒有限公司 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 全国国际学校排名_国际学校招生入学及学费-学校大全网 | 哈尔滨京科脑康神经内科医院-哈尔滨治疗头痛医院-哈尔滨治疗癫痫康复医院 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 北京森语科技有限公司-模型制作专家-展览展示-沙盘模型设计制作-多媒体模型软硬件开发-三维地理信息交互沙盘 | 蜜蜂职场文库_职场求职面试实用的范文资料大全 | 水压力传感器_数字压力传感器|佛山一众传感仪器有限公司|首页 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 缓蚀除垢剂_循环水阻垢剂_反渗透锅炉阻垢剂_有机硫化物-郑州威大水处理材料有限公司 | 卫生型双针压力表-高温防腐差压表-安徽康泰电气有限公司 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 东风体检车厂家_公共卫生体检车_医院体检车_移动体检车-锦沅科贸 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 合肥卓创建筑装饰,专业办公室装饰、商业空间装修与设计。 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 颗粒机,颗粒机组,木屑颗粒机-济南劲能机械有限公司 | 新能源汽车教学设备厂家报价[汽车教学设备运营18年]-恒信教具 |