<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    靈魂-放水

    為學日益,為道日損。

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks

    在MS SQL Server 2000 中,創建一個存儲過程有兩種方法:一種是使用Transaction-SQL 命令Create Procedure, 另一種是使用圖形化管理工具Enterprise Manager。 用Transaction- SQL 創建存儲過程是一種較為快速的方法,但對于初學者,使用Enterprise Manager 更易理解,更為簡單。
    當創建存儲過程時,需要確定存儲過程的三個組成部分;

    ?

    • 所有的輸入參數以及傳給調用者的輸出參數。
    • 被執行的針對數據庫的操作語句,包括調用其它存儲過程的語句;
    • 返回給調用者的狀態值,以指明調用是成功還是失敗。
    12.2.1 使用Enterprise Manager 創建存儲過程
    按照下述步驟用Enterprise Manager 創建一個存儲過程:

    ?

    • 啟動Enterprise Manager, 登錄到要使用的服務器。
    • 選擇要創建存儲過程的數據庫,在左窗格中單擊Stored Procedure 文件夾,此時在右窗格中顯示該數據庫的所有存儲過程,如圖12-1 所示。
    • 右擊Stored Procedure 文件夾,在彈出菜單中選擇New Stored Procedure, 此時打開創建存儲過程對話框,如圖12-2 所示。

    • 輸入存儲過程正文。
    • 單擊Check Syntax, 檢查語法是否正確。
    • 單擊OK, 保存。
    • 在右窗格中,右擊該存儲過程,在彈出菜單中選擇All task, 選擇ManagePermissions, 設置權限,如圖12-3 所示。

      ?

    12.2.2 用CREATE PROCEDURE 命令創建存儲過程
    通過運用Create Procedure 命令能夠創建存儲過程,在創建存儲過程之前,應該考慮到以下幾個方面:

    ?

    • 在一個批處理中,Create Procedure 語句不能與其它SQL 語句合并在一起;
    • 數據庫所有者具有默認的創建存儲過程的權限,它可把該權限傳遞給其它的用戶;
    • 存儲過程作為數據庫對象其命名必須符合命名規則;
    • 只能在當前數據庫中創建屬于當前數據庫的存儲過程。
    用Create Procedure 創建存儲過程的語法規則如下:
    CREATE PROC [ EDURE ] procedure_name [ ; number ]
    [ { @parameter data_type }
    [ VARYING ] [ = default ] [ OUTPUT ]
    ] [ ,...n ]
    [ WITH
    { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
    [ FOR REPLICATION ]
    AS sql_statement [ ...n ]

    各參數的含義如下:

    ?

    • procedure_name
      是要創建的存儲過程的名字,它后面跟一個可選項number, 它是一個整數,用來區別一組同名的存儲過程。存儲過程的命名必須符合命名規則,在一個數據庫中或對其所有者而言,存儲過程的名字必須惟一。
    • @parameter
      是存儲過程的參數。在Create Procedure 語句中,可以聲明一個或多個參數。當調用該存儲過程時,用戶必須給出所有的參數值,除非定義了參數的缺省值。若參數的形式以 @parameter=value 出現,則參數的次序可以不同,否則用戶給出的參數值必須與參數列表中參數的順序保持一致。若某一參數以@parameter=value 形式給出,那么其它參數也必須以該形式給出。一個存儲過程至多有1024 個參數。
    • Data_type
      是參數的數據類型。在存儲過程中,所有的數據類型包括text 和image 都可被用作參數。但是,游標cursor 數據類型只能被用作OUTPUT 參數。當定義游標數據類型時,也必須對VARING 和OUTPUT 關鍵字進行定義。對可能是游標型數據類型的OUTPUT 參數而言,參數的最大數目沒有限制。
    • VARYING
      指定由OUTPUT 參數支持的結果集,僅應用于游標型參數。
    • Default
      是指參數的缺省值。如果定義了缺省值,那么即使不給出參數值,則該存儲過程仍能被調用。缺省值必須是常數,或者是空值。
    • OUTPUT
      表明該參數是一個返回參數。用OUTPUT 參數可以向調用者返回信息。Text 類型參數不能用作OUTPUT 參數。
    • RECOMPILE
      指明SQL Server 并不保存該存儲過程的執行計劃,該存儲過程每執行一次都又要重新編譯。
    • ENCRYPTION
      表明SQL Server 加密了syscomments 表,該表的text 字段是包含有Create procedure語句的存儲過程文本,使用該關鍵字無法通過查看syscomments 表來查看存儲過程內容。
    • FOR REPLICATION
      選項指明了為復制創建的存儲過程不能在訂購服務器上執行,只有在創建過濾存儲過程時(僅當進行數據復制時過濾存儲過程才被執行),才使用該選項。FOR REPLICATION與WITH RECOMPILE 選項是互不兼容的。
    • AS
      指明該存儲過程將要執行的動作。
    • Sql_statement
      是任何數量和類型的包含在存儲過程中的SQL 語句。

    ?

    另外應該指出,一個存儲過程的最大尺寸為128M, 用戶定義的存儲過程必須創建在當前數據庫中。
    ?下面將給出幾個例子,用來詳細介紹如何創建包含有各種保留字的存儲過程。




    ????
    posted on 2007-01-08 10:52 放水老倌 閱讀(1349) 評論(0)  編輯  收藏 所屬分類: 數據庫
    主站蜘蛛池模板: 亚洲一区二区三区在线观看网站| 欧美日韩亚洲精品| 一个人看www在线高清免费看| 亚洲AV日韩AV无码污污网站| 国产精品亚洲玖玖玖在线观看| 无码人妻久久一区二区三区免费| 亚洲国产综合精品中文第一| 亚洲国产电影av在线网址| 99久久99久久免费精品小说| 亚洲jizzjizz少妇| 亚洲av无码片在线播放| 成人一a毛片免费视频| 丰满人妻一区二区三区免费视频| 亚洲人成电影在线观看青青| 亚洲成年人啊啊aa在线观看| 巨波霸乳在线永久免费视频| 一级做a爰性色毛片免费| 亚洲国产亚洲片在线观看播放| 亚洲欧洲国产成人综合在线观看| 100部毛片免费全部播放完整| 男女男精品网站免费观看| 亚洲网红精品大秀在线观看| 亚洲国产精品不卡毛片a在线| 无码av免费毛片一区二区| 91视频免费观看| 亚洲成在人线在线播放无码| 亚洲黄色在线网站| 毛茸茸bbw亚洲人| 日韩人妻无码免费视频一区二区三区 | 日本19禁啪啪无遮挡免费动图| 久草免费福利视频| 污网站免费在线观看| 亚洲一区二区三区写真| 亚洲麻豆精品果冻传媒| 亚洲精品无码专区久久久| 免费人成在线观看播放国产| 免费看国产成年无码AV片| 免费国产污网站在线观看15| 国产精品永久免费视频| 亚洲av无码一区二区三区四区| 亚洲人和日本人jizz|