色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

SQL Server 7.0 入門(五)

瀏覽:128日期:2023-10-28 09:46:09
使用SQL Server開發應用程序編寫存儲過程與觸發器;;;;;;;存儲過程和觸發器是由用戶創建的、駐留在服務器的一組Transact SQL查詢語句。觸發器是系統在特定條件下執行的。存儲過程能夠改善應用程序的性能。當客戶程序需要訪問數據時,一般要經過5個步驟才能訪問到數據:1);;查詢語句被發送到服務器。2);;服務器編譯SQL代碼。3);;優化產生查詢的執行計劃。4);;數據引擎執行查詢。5);;結果發回客戶程序。存儲過程是在創建時編譯的,當存儲過程第一次執行時,SQL Server產生查詢執行計劃并將其存儲進來,以利于將來使用。當通過存儲過程發出一個請求時,上述的第2和第3步就沒有了,這能大大改善系統的性能。即使在第1步上也能提高性能。因為此時發送到服務器的語句只是一條存儲過程的EXECUTE語句,而不是龐大的、復雜的查詢。這種特性能降低網絡的流量。除了性能方面的改善外,存儲過程還提供了方便地集中維護應用程序的功能。如果將查詢嵌入到應用程序中。而又需要對查詢進行改變,則應用程序需要重新編譯,并重新發布到所有的客戶端。而在存儲過程中,修改對用戶而言是透明的,它只需要在服務器上重新編譯存儲過程。存儲過程還能提供安全機制,盡管用戶可能無權執行存儲過程中的命令,但它卻可能有權執行存儲過程本身。有時候,系統管理員不會給用戶以數據修改(UPDATE、INSERT和DELETE)的權力。創建的存儲過程卻能進行這些操作。當然用戶需要擁有執行該存儲過程的權力。建立存儲過程;;;;;;;存儲過程可以達到以下目的:;;;;;;;· 帶參數。;;;;;;;· 返回狀態值。;;;;;;;· 調用其它存儲過程。;;;;;;;· 在遠程服務器上執行。;;;;;;;存儲過程在“sysobjects”系統表中有一個表項,其類型為“P”。存儲過程的文本存儲在“syscomments”系統表中。創建存儲過程需要使用Transact SQL命令CREATE PROCEDURE。;;;;;;;例如:;;;;;;;USE pubs;;;;;;;GO;;;;;;;;;;;;;;CREATE PROCEDURE ap_GetAuthorsForPublisher;;;;;;;AS;;;;;;;SELECT a.au_lname,a.au_fname;;;;;;;FROM authors a, titleauthor ta, titles t, publishers p;;;;;;;WHERE a.au_id = ta.Au_id;;;;;;;AND ta.Title_id = t.title_id;;;;;;;AND t.pub_id = p.pub_id;;;;;;;AND p.pub_name = ’New Moon Books’;;;;;;;GO;;;;;;;CREATE PROCEDURE語句的語法如下:;;;;;;;CREATE PROC[DURE] procedure_name [;number];;;;;;[@parameter_name ][OUTPUT] [,_n] ];;;;;;[WITH {RECOMPILE | ENCRYPTION}];;;;;;[FOR REPLICATION];;;;;;;AS;;;;;;;Number是用來對相同名字的過程進行分組的整數。分組是將所有的過程通過drop procedure語句組合到一個分組中。;;;;;;;@parameter_name指定參數的名稱。;;;;;;;RECOMPILE表示每次執行過程時都要進行編譯。;;;;;;;ENCRYPTION表示過程的文本在“syscomments”表中要加密。;;;;;;;FOR REPLICATION表示過程不能在提交服務器上執行。將參數傳遞給存儲過程;;;;;;;存儲過程能夠接受參數。;;;;;;;注意:過程的參數也可以是用戶定義的數據類型。給參數一個缺省值;;;;;;;用戶還可以為存儲過程中的參數定義缺省值。當在執行時沒有提供所需的參數時,系統就使用缺省值作為參數。如果既沒有定義缺省值,又沒有在執行時提供參數,則SQL Server就會返回一個錯誤。在存儲過程中定義缺省值,并使用一些邏輯檢測是否指定了參數從而采取相應的行動,這是一種很好的習慣。;;;;;;;例如:;;;;;;;USE pubs;;;;;;;GO;;;;;;;;;;;;;;CREATE PROCEDURE ap_GetAuthorsForPublisher;;;;;;;@PublisherName varchar(40) = ‘New Moon Books’;;;;;;;AS;;;;;;;SELECT a.au_lname,a.au_fname;;;;;;;FROM authors a, titleauthor ta, titles t, publishers p;;;;;;;WHERE a.au_id = ta.Au_id;;;;;;;AND ta.Title_id = t.title_id;;;;;;;AND t.pub_id = p.pub_id;;;;;;;AND p.pub_name = @PublisherName;;;;;;;GO
標簽: Sql Server 數據庫
主站蜘蛛池模板: 高清国产亚洲va精品 | 老王午夜69精品影院 | 亚洲高清在线视频 | 久久久久国产精品免费网站 | 久久精品系列 | 日韩欧美一区二区中文字幕 | 免费一级毛片正在播放 | 亚洲成人免费网址 | 欧美在线一区二区三区不卡 | 最刺激黄a大片免费网站 | 91精品手机国产在线能 | 日本一级做人免费视频 | 一级做性色a爰片久久毛片 一级做性色a爰片久久毛片免费 | 视频二区欧美 | 中文字幕 亚洲 一区二区三区 | 三级国产精品 | 一级片免费视频 | 一级毛片aaaaaa免费看 | 99热播 | 成人 在线播放 | 日本黄大片影院一区二区 | 亚洲国产精品综合久久 | 国产盗摄精品一区二区三区 | 国产成人免费视频 | 高清一级毛片 | 国产精品永久免费自在线观看 | 亚洲精品久久精品h成人 | 三级a黄 | 久久这里只有精品免费视频 | 久久久久久国产精品免费免费 | 久久一日本道色综合久久 | 亚洲天堂在线视频观看 | 国产亚洲综合久久 | 国产精品反差婊在线观看 | 久久精品视频免费观看 | 国产精品中文 | 成人高清无遮挡免费视频软件 | 精品视频一区在线观看 | 女bbbbxxxx毛片视频0 | 黄色三级视频网站 | 欧美三级在线观看不卡视频 |