欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
編寫(xiě)存儲過(guò)程與觸發(fā)器
SQL Server 7.0 入門(mén)(五)
來(lái)源:轉載   瀏覽數:49   錄入時(shí)間:2006-3-2
    使用SQL Server開(kāi)發(fā)應用程序
   編寫(xiě)存儲過(guò)程與觸發(fā)器
   存儲過(guò)程和觸發(fā)器是由用戶(hù)創(chuàng )建的、駐留在服務(wù)器的一組Transact SQL查詢(xún)語(yǔ)句。觸發(fā)器是系統在特定條件下執行的。存儲過(guò)程能夠改善應用程序的性能。當客戶(hù)程序需要訪(fǎng)問(wèn)數據時(shí),一般要經(jīng)過(guò)5個(gè)步驟才能訪(fǎng)問(wèn)到數據:
   1) 查詢(xún)語(yǔ)句被發(fā)送到服務(wù)器。
   2) 服務(wù)器編譯SQL代碼。
   3) 優(yōu)化產(chǎn)生查詢(xún)的執行計劃。
   4) 數據引擎執行查詢(xún)。
   5) 結果發(fā)回客戶(hù)程序。
   存儲過(guò)程是在創(chuàng )建時(shí)編譯的,當存儲過(guò)程第一次執行時(shí),SQL Server產(chǎn)生查詢(xún)執行計劃并將其存儲進(jìn)來(lái),以利于將來(lái)使用。當通過(guò)存儲過(guò)程發(fā)出一個(gè)請求時(shí),上述的第2和第3步就沒(méi)有了,這能大大改善系統的性能。即使在第1步上也能提高性能。因為此時(shí)發(fā)送到服務(wù)器的語(yǔ)句只是一條存儲過(guò)程的EXECUTE語(yǔ)句,而不是龐大的、復雜的查詢(xún)。這種特性能降低網(wǎng)絡(luò )的流量。
   除了性能方面的改善外,存儲過(guò)程還提供了方便地集中維護應用程序的功能。如果將查詢(xún)嵌入到應用程序中。而又需要對查詢(xún)進(jìn)行改變,則應用程序需要重新編譯,并重新發(fā)布到所有的客戶(hù)端。而在存儲過(guò)程中,修改對用戶(hù)而言是透明的,它只需要在服務(wù)器上重新編譯存儲過(guò)程。
   存儲過(guò)程還能提供安全機制,盡管用戶(hù)可能無(wú)權執行存儲過(guò)程中的命令,但它卻可能有權執行存儲過(guò)程本身。有時(shí)候,系統管理員不會(huì )給用戶(hù)以數據修改(UPDATE、INSERT和DELETE)的權力。創(chuàng )建的存儲過(guò)程卻能進(jìn)行這些操作。當然用戶(hù)需要擁有執行該存儲過(guò)程的權力。
   
   建立存儲過(guò)程
   存儲過(guò)程可以達到以下目的:
   · 帶參數。
   · 返回狀態(tài)值。
   · 調用其它存儲過(guò)程。
   · 在遠程服務(wù)器上執行。
   存儲過(guò)程在“sysobjects”系統表中有一個(gè)表項,其類(lèi)型為“P”。存儲過(guò)程的文本存儲在“syscomments”系統表中。創(chuàng )建存儲過(guò)程需要使用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語(yǔ)句的語(yǔ)法如下:
   CREATE PROC[DURE] procedure_name [;number]
       [WITH {RECOMPILE | ENCRYPTION}]
   [FOR REPLICATION]
   AS
   Number是用來(lái)對相同名字的過(guò)程進(jìn)行分組的整數。分組是將所有的過(guò)程通過(guò)drop procedure語(yǔ)句組合到一個(gè)分組中。
   @parameter_name指定參數的名稱(chēng)。
   RECOMPILE表示每次執行過(guò)程時(shí)都要進(jìn)行編譯。
   ENCRYPTION表示過(guò)程的文本在“syscomments”表中要加密。
   FOR REPLICATION表示過(guò)程不能在提交服務(wù)器上執行。
   
   將參數傳遞給存儲過(guò)程
   存儲過(guò)程能夠接受參數。
   注意:過(guò)程的參數也可以是用戶(hù)定義的數據類(lèi)型。
   
   給參數一個(gè)缺省值
   用戶(hù)還可以為存儲過(guò)程中的參數定義缺省值。當在執行時(shí)沒(méi)有提供所需的參數時(shí),系統就使用缺省值作為參數。如果既沒(méi)有定義缺省值,又沒(méi)有在執行時(shí)提供參數,則SQL Server就會(huì )返回一個(gè)錯誤。在存儲過(guò)程中定義缺省值,并使用一些邏輯檢測是否指定了參數從而采取相應的行動(dòng),這是一種很好的習慣。
   例如:
   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
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
SQL存儲過(guò)程入門(mén)級教程6
ylb:了解存儲過(guò)程
數據庫儲存過(guò)程語(yǔ)法規則
SQL面試須看
觸發(fā)器、存儲過(guò)程和函數三者有何區別
數據庫命名規則參考
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久