<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 放水老倌 閱讀(1342) 評論(0)  編輯  收藏 所屬分類: 數據庫
    主站蜘蛛池模板: 精品免费人成视频app| 免费久久精品国产片香蕉| 亚洲欧美熟妇综合久久久久 | 成年人性生活免费视频| 亚洲精品亚洲人成在线| 亚洲精品国产精品乱码不卡√ | 午夜无码A级毛片免费视频| 亚洲视频一区二区三区四区| 免费在线观看一级毛片| 日韩精品久久久久久免费| 亚洲成AV人片高潮喷水| 亚洲AV无码专区国产乱码电影| 成人无遮挡裸免费视频在线观看| 九九九精品视频免费| 亚洲网站在线免费观看| 亚洲男人的天堂在线va拉文 | 亚洲av无码精品网站| 日韩高清在线免费看| 暖暖在线视频免费视频| 在线观看国产一区亚洲bd| 亚洲永久永久永久永久永久精品| 在线观看永久免费视频网站| 无码精品人妻一区二区三区免费看 | 亚洲AV无码日韩AV无码导航| 免费无码又爽又刺激高潮| 成人电影在线免费观看| 色屁屁在线观看视频免费| 亚洲毛片一级带毛片基地| 在线观看亚洲精品国产| 国产特级淫片免费看| 中文字幕无码播放免费| 免费无码H肉动漫在线观看麻豆| 亚洲精品无码专区在线播放| 亚洲日本视频在线观看| 久久九九亚洲精品| 亚洲精品97久久中文字幕无码| 久久久www成人免费毛片| 一级毛片在线免费观看| 中文字幕久无码免费久久 | www.黄色免费网站| 99精品视频在线观看免费专区|