校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > SQL Server存儲過程的基礎說明

SQL Server存儲過程的基礎說明

熱門標簽:溫州語音外呼系統排名 四川穩定外呼系統公司 AI智能云呼電話機器人怎么注冊 怎么在高德地圖標注多個點 沈陽外呼系統有效果嗎 商家地圖標注圖片 福州外呼系統招商 電話機器人接口是什么樣的 百度地圖標注信息怎么修改
可以創建一個過程供永久使用,或在一個會話中臨時使用(局部臨時過程),或在所有會話中臨時使用(全局臨時過程)。
也可以創建在Microsoft SQL Server啟動時自動運行的存儲過程。
語法
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
新存儲過程的名稱。過程名必須符合標識符規則,且對于數據庫及其所有者必須唯一。有關更多信息,請參見使用標識符。
要創建局部臨時過程,可以在 procedure_name 前面加一個編號符 (#procedure_name),要創建全局臨時過程,可以在 procedure_name 前面加兩個編號符 (##procedure_name)。完整的名稱(包括 # 或 ##)不能超過 128 個字符。指定過程所有者的名稱是可選的。
;number
是可選的整數,用來對同名的過程分組,以便用一條 DROP PROCEDURE 語句即可將同組的過程一起除去。例如,名為 orders 的應用程序使用的過程可以命名為 orderproc;1、orderproc;2 等。DROP PROCEDURE orderproc 語句將除去整個組。如果名稱中包含定界標識符,則數字不應包含在標識符中,只應在 procedure_name 前后使用適當的定界符。
@parameter
過程中的參數。在 CREATE PROCEDURE 語句中可以聲明一個或多個參數。用戶必須在執行過程時提供每個所聲明參數的值(除非定義了該參數的默認值)。存儲過程最多可以有 2.100 個參數。
使用 @ 符號作為第一個字符來指定參數名稱。參數名稱必須符合標識符的規則。每個過程的參數僅用于該過程本身;相同的參數名稱可以用在其它過程中。默認情況下,參數只能代替常量,而不能用于代替表名、列名或其它數據庫對象的名稱。有關更多信息,請參見 EXECUTE。
data_type
參數的數據類型。所有數據類型(包括 text、ntext 和 image)均可以用作存儲過程的參數。不過,cursor 數據類型只能用于 OUTPUT 參數。如果指定的數據類型為 cursor,也必須同時指定 VARYING 和 OUTPUT 關鍵字。有關 SQL Server 提供的數據類型及其語法的更多信息,請參見數據類型。
說明 對于可以是 cursor 數據類型的輸出參數,沒有最大數目的限制。
VARYING
指定作為輸出參數支持的結果集(由存儲過程動態構造,內容可以變化)。僅適用于游標參數。
default
參數的默認值。如果定義了默認值,不必指定該參數的值即可執行過程。默認值必須是常量或 NULL。如果過程將對該參數使用 LIKE 關鍵字,那么默認值中可以包含通配符(%、_、[] 和 [^])。
OUTPUT
表明參數是返回參數。該選項的值可以返回給 EXEC[UTE]。使用 OUTPUT 參數可將信息返回給調用過程。Text、ntext 和 image 參數可用作 OUTPUT 參數。使用 OUTPUT 關鍵字的輸出參數可以是游標占位符。

表示最多可以指定 2.100 個參數的占位符。
{RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}
RECOMPILE 表明 SQL Server 不會緩存該過程的計劃,該過程將在運行時重新編譯。在使用非典型值或臨時值而不希望覆蓋緩存在內存中的執行計劃時,請使用 RECOMPILE 選項。
ENCRYPTION 表示 SQL Server 加密 syscomments 表中包含 CREATE PROCEDURE 語句文本的條目。使用 ENCRYPTION 可防止將過程作為 SQL Server 復制的一部分發布。
說明 在升級過程中,SQL Server 利用存儲在 syscomments 中的加密注釋來重新創建加密過程。
FOR REPLICATION
指定不能在訂閱服務器上執行為復制創建的存儲過程。.使用 FOR REPLICATION 選項創建的存儲過程可用作存儲過程篩選,且只能在復制過程中執行。本選項不能和 WITH RECOMPILE 選項一起使用。
AS
指定過程要執行的操作。
sql_statement
過程中要包含的任意數目和類型的 Transact-SQL 語句。但有一些限制。

是表示此過程可以包含多條 Transact-SQL 語句的占位符。
注釋
存儲過程的最大大小為 128 MB。
用戶定義的存儲過程只能在當前數據庫中創建(臨時過程除外,臨時過程總是在 tempdb 中創建)。在單個批處理中,CREATE PROCEDURE 語句不能與其它 Transact-SQL 語句組合使用。
默認情況下,參數可為空。如果傳遞 NULL 參數值并且該參數在 CREATE 或 ALTER TABLE 語句中使用,而該語句中引用的列又不允許使用 NULL,則 SQL Server 會產生一條錯誤信息。為了防止向不允許使用 NULL 的列傳遞 NULL 參數值,應向過程中添加編程邏輯或為該列使用默認值(使用 CREATE 或 ALTER TABLE 的 DEFAULT 關鍵字)。
建議在存儲過程的任何 CREATE TABLE 或 ALTER TABLE 語句中都為每列顯式指定 NULL 或 NOT NULL,例如在創建臨時表時。ANSI_DFLT_ON 和 ANSI_DFLT_OFF 選項控制 SQL Server 為列指派 NULL 或 NOT NULL 特性的方式(如果在 CREATE TABLE 或 ALTER TABLE 語句中沒有指定的話)。如果某個連接執行的存儲過程對這些選項的設置與創建該過程的連接的設置不同,則為第二個連接創建的表列可能會有不同的為空性,并且表現出不同的行為方式。如果為每個列顯式聲明了 NULL 或 NOT NULL,那么將對所有執行該存儲過程的連接使用相同的為空性創建臨時表。
在創建或更改存儲過程時,SQL Server 將保存 SET QUOTED_IDENTIFIER 和 SET ANSI_NULLS 的設置。執行存儲過程時,將使用這些原始設置。因此,所有客戶端會話的 SET QUOTED_IDENTIFIER 和 SET ANSI_NULLS 設置在執行存儲過程時都將被忽略。在存儲過程中出現的 SET QUOTED_IDENTIFIER 和 SET ANSI_NULLS 語句不影響存儲過程的功能。
其它 SET 選項(例如 SET ARITHABORT、SET ANSI_WARNINGS 或 SET ANSI_PADDINGS)在創建或更改存儲過程時不保存。如果存儲過程的邏輯取決于特定的設置,應在過程開頭添加一條 SET 語句,以確保設置正確。從存儲過程中執行 SET 語句時,該設置只在存儲過程完成之前有效。之后,設置將恢復為調用存儲過程時的值。這使個別的客戶端可以設置所需的選項,而不會影響存儲過程的邏輯。
說明 SQL Server 是將空字符串解釋為單個空格還是解釋為真正的空字符串,由兼容級別設置控制。如果兼容級別小于或等于 65,SQL Server 就將空字符串解釋為單個空格。如果兼容級別等于 70,則 SQL Server 將空字符串解釋為空字符串。有關更多信息,請參見 sp_dbcmptlevel。
獲得有關存儲過程的信息
若要顯示用來創建過程的文本,請在過程所在的數據庫中執行 sp_helptext,并使用過程名作為參數。
說明 使用 ENCRYPTION 選項創建的存儲過程不能使用 sp_helptext 查看。
若要顯示有關過程引用的對象的報表,請使用 sp_depends。
若要為過程重命名,請使用 sp_rename。
引用對象
SQL Server 允許創建的存儲過程引用尚不存在的對象。在創建時,只進行語法檢查。執行時,如果高速緩存中尚無有效的計劃,則編譯存儲過程以生成執行計劃。只有在編譯過程中才解析存儲過程中引用的所有對象。因此,如果語法正確的存儲過程引用了不存在的對象,則仍可以成功創建,但在運行時將失敗,因為所引用的對象不存在。有關更多信息,請參見延遲名稱解析和編譯。
延遲名稱解析和兼容級別
SQL Server 允許 Transact-SQL 存儲過程在創建時引用不存在的表。這種能力稱為延遲名稱解析。不過,如果 Transact-SQL 存儲過程引用了該存儲過程中定義的表,而兼容級別設置(通過執行 sp_dbcmptlevel 來設置)為 65,則在創建時會發出警告信息。而如果在運行時所引用的表不存在,將返回錯誤信息。有關更多信息,請參見 sp_dbcmptlevel 和延遲名稱解析和編譯。
執行存儲過程
成功執行 CREATE PROCEDURE 語句后,過程名稱將存儲在 sysobjects 系統表中,而 CREATE PROCEDURE 語句的文本將存儲在 syscomments 中。第一次執行時,將編譯該過程以確定檢索數據的最佳訪問計劃。
使用 cursor 數據類型的參數
存儲過程只能將 cursor 數據類型用于 OUTPUT 參數。如果為某個參數指定了 cursor 數據類型,也必須指定 VARYING 和 OUTPUT 參數。如果為某個參數指定了 VARYING 關鍵字,則數據類型必須是 cursor,并且必須指定 OUTPUT 關鍵字。
您可能感興趣的文章:
  • SQL Server存儲過程入門學習
  • 深入sql server 2005 萬能分頁存儲過程的詳解
  • 基于Sql Server通用分頁存儲過程的解決方法
  • SQL Server 分頁查詢存儲過程代碼
  • SQL Server 存儲過程解析
  • SQL Server常用存儲過程及示例

標簽:邯鄲 七臺河 西寧 汕尾 無錫 營口 寶雞 來賓

巨人網絡通訊聲明:本文標題《SQL Server存儲過程的基礎說明》,本文關鍵詞  SQL,Server,存儲,過程,的,基礎,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL Server存儲過程的基礎說明》相關的同類信息!
  • 本頁收集關于SQL Server存儲過程的基礎說明的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲视频在线一区观看| 国产一区二区不卡在线 | 欧美视频一区在线观看| 偷窥国产亚洲免费视频| 中文字幕亚洲电影| 久久夜色精品国产欧美乱极品| 在线免费观看视频一区| 国产69精品久久久久毛片| 久久精品久久精品| 亚洲一区在线免费观看| 自拍偷拍国产精品| 久久久99精品久久| 久久精品人人做人人综合| 日韩视频在线你懂得| 在线观看亚洲一区| 欧美午夜免费电影| 欧美中文字幕一区二区三区| 成年人国产精品| 成人久久18免费网站麻豆| 国产精品一区二区三区99| 久久er精品视频| 久久超碰97中文字幕| 毛片av一区二区| 亚洲h动漫在线| 亚洲一区二区欧美激情| 亚洲综合一区二区精品导航| 一区二区三区日本| 亚洲自拍偷拍九九九| 亚洲国产高清在线| 国产精品网站一区| 久久你懂得1024| 欧美一级日韩免费不卡| 日本韩国一区二区三区视频| 欧美影院一区二区| 91精品国产日韩91久久久久久| 欧美日韩精品一区二区三区 | 美洲天堂一区二卡三卡四卡视频| 日韩福利视频网| 国产在线精品一区二区夜色| 国产精品亚洲成人| 91丨porny丨国产| 91久久国产综合久久| 欧美三级日韩在线| 日韩精品中文字幕一区| 欧美日韩国产在线观看| 日本韩国一区二区三区| 欧美一卡二卡在线| 欧美久久婷婷综合色| 欧美日韩国产欧美日美国产精品| 欧美一级夜夜爽| 国产精品视频看| 亚洲最新视频在线播放| 蜜臀av性久久久久蜜臀av麻豆| 国产一区二区三区四区五区入口| 97久久精品人人澡人人爽| 欧美群妇大交群中文字幕| 国产亚洲精品资源在线26u| 精品国产乱码久久久久久牛牛| 久久―日本道色综合久久| 国产偷v国产偷v亚洲高清| 亚洲一卡二卡三卡四卡五卡| 韩国女主播一区二区三区| jlzzjlzz亚洲女人18| 欧美一级一级性生活免费录像| 中日韩免费视频中文字幕| 亚洲成人免费电影| 国产成人h网站| 欧美一区二区日韩一区二区| 中文字幕日韩一区| 精品午夜久久福利影院| 在线视频观看一区| 国产网红主播福利一区二区| 日韩精品一卡二卡三卡四卡无卡| 国产成人精品亚洲午夜麻豆| 在线播放视频一区| 亚洲女同女同女同女同女同69| 九九精品视频在线看| 日本久久电影网| 亚洲视频免费在线观看| 国产一区二区三区四区五区美女| 欧美日韩国产首页在线观看| 亚洲免费观看高清完整版在线观看熊 | 欧美日精品一区视频| 欧美成人一区二区| 亚洲免费观看视频| 成人免费毛片app| 精品福利二区三区| 日产精品久久久久久久性色| 91福利国产精品| 中文字幕日韩精品一区| 成人av动漫网站| 久久久噜噜噜久久人人看| 六月婷婷色综合| 日韩亚洲欧美高清| 美女久久久精品| 欧美一区二区三区四区五区| 日韩精品1区2区3区| 欧美日韩高清一区二区不卡| 午夜精品123| 欧美精品精品一区| 日韩国产精品大片| 欧美精品在线一区二区三区| 亚洲成a人片综合在线| 欧美日韩精品免费| 丝袜a∨在线一区二区三区不卡| 欧美图区在线视频| 香蕉乱码成人久久天堂爱免费| 欧美日韩中文字幕一区二区| 亚洲免费av高清| 欧美日韩免费视频| 日精品一区二区三区| 日韩欧美不卡一区| 国产一区二区在线视频| 久久女同性恋中文字幕| 成人免费观看av| 亚洲精品老司机| 欧美精品777| 国产一区二区三区免费| 国产精品国产三级国产三级人妇| 91美女视频网站| 视频一区在线播放| 久久久久久久久久久久久夜| 99精品桃花视频在线观看| 亚洲最大成人综合| 日韩精品一区二区三区中文不卡 | 欧美日韩一区二区不卡| 婷婷久久综合九色综合绿巨人| 欧美区视频在线观看| 国产精品一品视频| 一区二区三区成人在线视频| 日韩精品一区二区三区中文不卡| 丰满放荡岳乱妇91ww| 亚洲va国产va欧美va观看| 精品国产sm最大网站| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲国产毛片aaaaa无费看| 精品国产91亚洲一区二区三区婷婷 | 国产亚洲一二三区| 成人免费黄色在线| 午夜久久久久久电影| 中文字幕精品一区| 欧美高清视频不卡网| 国产成人综合自拍| 日韩vs国产vs欧美| 亚洲欧美二区三区| 久久久不卡网国产精品二区| 欧美日韩一区视频| 成人激情图片网| 激情欧美日韩一区二区| 亚洲成人免费在线观看| 中文子幕无线码一区tr| 88在线观看91蜜桃国自产| 国产精品亚洲一区二区三区在线| 图片区日韩欧美亚洲| 国产欧美精品一区| 欧美日韩免费视频| 色综合久久99| 成a人片国产精品| 久久精品国产精品亚洲红杏| 亚洲妇熟xx妇色黄| 亚洲自拍偷拍九九九| 自拍偷拍亚洲欧美日韩| 久久综合九色欧美综合狠狠| 欧美日本乱大交xxxxx| 一本一道综合狠狠老| 国产盗摄女厕一区二区三区| 韩国精品免费视频| 极品美女销魂一区二区三区| 一区二区三区色| 国产精品国产a级| 中文在线资源观看网站视频免费不卡| 26uuu国产一区二区三区| 日韩小视频在线观看专区| 欧美精品国产精品| 91精品国产综合久久福利软件| 欧美午夜精品久久久久久超碰| 91色porny| 色偷偷久久人人79超碰人人澡| 91无套直看片红桃| 91免费在线看| 在线看一区二区| 欧美日韩色综合| 欧美一激情一区二区三区| 欧美一区二区三区视频免费| 久久免费的精品国产v∧| 日韩美女啊v在线免费观看| 亚洲一区在线看| 国产精品456露脸| 在线免费观看视频一区| 精品国免费一区二区三区| 亚洲人成网站色在线观看| 日本欧美大码aⅴ在线播放| 国产一区二区三区免费观看| 色狠狠色噜噜噜综合网| 精品福利一二区| 亚洲午夜av在线| 成人国产精品免费观看视频| 在线观看亚洲a| 欧美激情综合五月色丁香小说| 亚洲va欧美va国产va天堂影院|