<del id="nnjnj"></del><track id="nnjnj"></track>

<p id="nnjnj"></p>

<address id="nnjnj"></address>

    <pre id="nnjnj"><pre id="nnjnj"></pre></pre>

      <noframes id="nnjnj"><ruby id="nnjnj"><ruby id="nnjnj"></ruby></ruby>

      • 自動秒收錄
      • 軟件:1973
      • 資訊:57811|
      • 收錄網站:279872|

      IT精英團

      SQL SERVER存儲過程學習筆記

      SQL SERVER存儲過程學習筆記

      瀏覽次數:
      評論次數:
      編輯: 景同
      信息來源: ITPUB
      更新日期: 2022-09-13 21:44:28
      摘要

      將常用的或很復雜的工作,預先用SQL語句寫好并用一個指定的名稱存儲起來,那么以后要叫數據庫提供與已定義好的存儲過程的功能相同的服務時,只需調用execute,即可自動完成命令。存儲過程的優點1.存儲

      • 正文開始
      • 相關閱讀
      • 推薦作品

      預先用SQL語句寫下常用或復雜的工作,用指定的名稱存儲。當你希望數據庫將來提供和定義的存儲過程一樣的服務時,只需要調用execute就可以自動完成命令。

      存儲過程的優勢

      1.存儲過程只在創建時編譯,以后每次執行存儲過程時都不必重新編譯。一般情況下,SQL語句在每次執行時都會被編譯,所以使用存儲過程可以提高數據庫的執行速度。

      2.當對數據庫執行復雜操作(如更新、插入、查詢和刪除多個表)時,可以用存儲過程封裝復雜操作,并與數據庫提供的事務一起使用。

      3.存儲過程可以重用,可以減少數據庫開發人員的工作量。

      4.高安全性,可以設置只有某個用戶有權使用指定的存儲過程。

      創建存儲過程

      00-1010參數

      物主

      擁有存儲過程的用戶ID的名稱。所有者必須是當前用戶的名稱或當前用戶所屬角色的名稱。

      過程名稱

      新存儲過程的名稱。過程名必須符合標識符規則,并且對于數據庫及其所有者是唯一的。

      ;數字

      是一個可選的整數,用于對同名的過程進行分組,以便同一組過程可以與DROP PROCEDURE語句一起刪除。例如,名為orders的應用程序使用的過程可以命名為orderproc1、orderproc2等。DROP PROCEDUREorderproc語句將刪除整個組。如果名稱包含定界標識符,則標識符中不應包含數字,并且在procedure_name之前和之后只應使用適當的分隔符。

      @參數

      過程中的參數。您可以在CREATE PROCEDURE語句中聲明一個或多個參數。在執行過程時,用戶必須提供每個聲明參數的值(除非定義了該參數的默認值,或者該值設置為等于另一個參數)。存儲過程最多可以有2.100個參數。

      使用@符號作為第一個字符來指定參數名稱。參數必須符合標識符的規則。每個流程的參數只用于流程本身;相同的參數名稱可用于其他過程。默認情況下,參數只能替換常量,而不能替換表名、列名或其他數據庫對象名。

      數據類型

      參數的數據類型。除table之外的所有數據類型都可以用作存儲過程的參數。但是,游標數據類型只能用于輸出參數。如果指定了游標數據類型,還必須指定VARYING和OUTPUT關鍵字??梢允怯螛藬祿愋偷妮敵鰠档淖畲髷盗繘]有限制。

      變化

      指定作為輸出參數支持的結果集(由存儲過程動態構造,內容可以更改)。僅適用于游標參數。

      系統默認值

      參數的默認值。如果定義了默認值,則可以在不指定該參數值的情況下執行該過程。默認值必須是常量或NULL。如果過程對此參數使用LIKE關鍵字,默認值可以包含通配符(%、_、[]和[])。

      輸出

      指示該參數是返回參數。這個選項的值可以返回給EXEC[UTE]。使用OUTPUT參數向調用過程返回信息。Text、ntext和image參數可以用作輸出參數。使用OUTPUT關鍵字的輸出參數可以是光標占位符。

      n

      表示最多可以指定 2.100 個參數的占位符。

      {RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}

          RECOMPILE 表明 SQL Server 不會緩存該過程的計劃,該過程將在運行時重新編譯。在使用非典型值或臨時值而不希望覆蓋緩存在內存中的執行計劃時,請使用 RECOMPILE 選項。

      ENCRYPTION 表示 SQL Server 加密 syscomments 表中包含 CREATE PROCEDURE 語句文本的條目。使用 ENCRYPTION 可防止將過程作為 SQL Server 復制的一部分發布。

      FOR REPLICATION

          指定不能在訂閱服務器上執行為復制創建的存儲過程。.使用 FOR REPLICATION 選項創建的存儲過程可用作存儲過程篩選,且只能在復制過程中執行。本選項不能和 WITH RECOMPILE 選項一起使用。

      AS

         指定過程要執行的操作。

      sql_statement

         過程中要包含的任意數目和類型的 Transact-SQL 語句。但有一些限制。

      n

         是表示此過程可以包含多條 Transact-SQL 語句的占位符。

      **********************************************

      注:*所包圍部分來自MS的聯機叢書.

       

                                 幾個實例

                              (AjaxCity表中內容)

           ID        CityName   Short

                   1         蘇州市     SZ  

                   2     無錫市     WX

                   3         常州市     CZ

      1.選擇表中所有內容并返回一個數據集

              CREATE PROCEDURE mysp_All        AS           select * from AjaxCity        GO

      2.根據傳入的參數進行查詢并返回一個數據集

             CREATE PROCEDURE mysp_para            @CityName varchar(255),

                  @Short    varchar(255)       AS         select * from AjaxCity where CityName=@CityName And Short=@Short       GO

      3.帶有輸出參數的存儲過程(返回前兩條記錄的ID的和)

      CREATE PROCEDURE mysp_output       @SUM int  output AS       select @SUM=sum([ID]) from (select top 2 * from AjaxCity) as tmpTableGO

      4.在存儲過程中使用游標

        有這樣一個表,存儲的是各超階級市下面的縣級市的信息.

         現在想統計出各個地級市下面的縣級市的個數,并組成一個字符串.結果應該是"5,2,2".

       

      CREATE PROCEDURE mysp_Cursor    @Result varchar(255) output//聲明輸出變量AS    declare city_cursor cursor for//聲明游標變量    select [ID] from AjaxCity

      set @Result=''declare @Field int//聲明臨時存放CityID的變量open city_cursor //打開游標fetch next from city_cursor into @Field//將實際ID賦給變量while(@@fetch_status=0)//循環開始begin       if @Result = ''           select @Result = convert(nvarchar(2),count(*))  from AjaxCounty where CityID=@Field       else           select @Result = @Result + ',' + convert(nvarchar(2),count(*)) from AjaxCounty where CityID=@Field             fetch next from city_cursor into @Field//下一個CityIDendclose city_cursor//關閉游標deallocate city_cursor//釋放游標引用GO

       

          好了,關于存儲過程先寫到這里.以上幾個例子基本上實現了平常所用到的大部分功能.至于復雜的存儲過程,所用到的知道主要是SQL的語法,以及SQL中內置函數的使用.已不屬于本文所要討論的范圍了.

      本文來源https://www.cnblogs.com/Nina-piaoye/archive/2006/09/18/507183.html

      SQL Server動態生成分區腳本
      ? 上一篇 2022-09-13
      一個沒有寫代碼的案例 讓我們看看Flowable為我們提供了哪些功能
      下一篇 ? 2022-09-13
      • 如何在Ubuntu中保留文件系統并備份當前開發板鏡像
        0閱讀 0條評論 個贊
        在Ubuntu保留文件系統或者說備份當前開發板鏡像的需求在不斷增加。比如Ubuntu文件系統需要安裝庫文件的話直接使用apt-get工具就可以下載,但由于需要下載的核心板較多,比較費時間,這時需要將安……
      • 國產核心板全志T507助力消防系統升級
        0閱讀 0條評論 個贊
        9月16日下午,位于湖南長沙市區內的中國電信大樓發生火災,建筑高度218米,現場濃煙滾滾,數十層樓體燃燒劇烈。消防救援人員趕到現場后很快將火勢控制住,目前大樓火勢已被撲滅,所幸未發現人員傷亡。湖南電信……
      • 教大家如何處理Spring Boot易流中的用戶和群體!
        0閱讀 0條評論 個贊
        1.準備工作2.用戶操作2.1添加用戶2.2修改用戶2.3刪除用戶2.4查詢用戶3.組操作3.1添加組3.2修改組3.3刪除組3.4查詢組4.查看表詳情雖然說我們在實際開發中,……
      • 從PG15開始WAL壓縮優化
        0閱讀 0條評論 個贊
        PG15傳聞中的超級令人激動的功能大多數跳票了,年初我也寫過一個關于PG15新功能跳票的文章。PG15BETA已經發出幾個月了,似乎PG15里令人激動人心的功能不多,不過從長長的新功能列表里,……
      • 深入了解美團葉子發射器開源方案
        0閱讀 0條評論 個贊
        大家好,我是樹哥。之前我們有聊過「如何設計一個分布式ID發號器」,其中有講過4種解決方案,分別是:UUID類雪花算法數據庫自增主鍵Redis原子自增美團以第2、3種解決方案為基礎,開發出……
      發表評論 共有條評論
      用戶名: 密碼:
      驗證碼: 匿名發表
      • MySQL中的存儲過程(詳細文章)
        0閱讀 0條評論 個贊
        文章目錄概述優點缺點MySQL存儲過程的定義存儲過程的基本語句格式存儲過程的使用定義一個存儲過程定義一個有參數的存儲過程定義一個流程控制語句IFELSE定義一個條件控制語句CASE定義一個循環語……
      • 當老板讓我從Java8升級到Java11時
        4閱讀 0條評論 個贊
        老板讓我把一個項目從Java8遷移到Java11,我該怎么辦呢?最簡單的辦法,當然是直接強行升級,遇到一個錯就改一個錯,別看它low,但是對于一個小型且非核心的項目來說,已經足夠了。當然,……
      • k8s網絡持久存儲的StorageClass(如何一步步實現動態持久存儲)
        0閱讀 0條評論 個贊
        StorageClass的作用:創建pv時,先要創建各種固定大小的PV,而這些PV都是手動創建的,當業務量上來時,需要創建很多的PV,過程非常麻煩。而且開發人員在申請PVC資源時,還不一定有匹配條件的……
      • 解決ShardingJdbc不支持復雜SQL問題的說明
        18閱讀 0條評論 個贊
        背景介紹公司最近做分庫分表業務,接入了ShardingJDBC,接入完成后,回歸測試時發現好幾個SQL執行報錯,關鍵這幾個表都還不是分片表。報錯如下:這下糟了嘛。熟悉ShardingJDB……
      • Linux系統的docker部署 網絡核心3.1
        0閱讀 0條評論 個贊
        此篇文章演示基本的基于docker部署.netcore服務,linux系統騰訊云ubuntu,.netcore版本3.1。1.安裝dockeraptinstalldocker.io2.拉取.ne……
      • 公司排班系統遇到瓶頸?我自己造一個!
        10閱讀 0條評論 個贊
        本期名人堂我們有幸邀請到了白鯨開源的聯合創始人代立冬先生。代立冬先生與我們分享了自己社區開源的經歷,詳細介紹了一個開源項目是如何加入Apache孵化器,如何在導師的輔導下慢慢孵化、成長的過程,以及自己……
      • MQ系列5:5的發送模式:RocketMQ消息
        0閱讀 0條評論 個贊
        在之前的篇章中,我們學習了RocketMQ的原理,以及RocketMQ中命名服務ServiceName的運行流程,本篇從消息的生產、消費來理解一條消息的生命周期。1消息生產在RocketMQ中……
      • i.MX8MQ自制背板無PCIe問題詳解
        9閱讀 0條評論 個贊
        在飛凌嵌入式OKMX8MQ-C開發板上有兩個PCIe接口,對應著兩個PCIe差分時鐘,兩路PCIe分別用作了M.2接口卡槽KEYE(P37)和KEYM(P34)。很多使用FETMX8MQ-C核心板的用……
      • 自動化測試選擇Python還是Java?
        0閱讀 0條評論 個贊
        你好,我是測試蔡坨坨。今天,我們來聊一聊測試人員想要進階,想要做自動化測試,甚至測試開發,如何選擇編程語言。前言自動化測試,這幾年行業內的熱詞,也是測試人員進階的必備技能,更是軟件測試未來發展的趨勢?!?/div>
      • [設計模式] Java設計模式-橋模式
        0閱讀 0條評論 個贊
        目錄【設計模式】Java設計模式-橋接模式簡介橋接模式實例代碼示例①、品牌接口②、汽車品牌③、抽象汽車類④、汽車類型子類⑤、橋接模式測試1|1簡介橋接(Bridge)是用于把抽象化與實現化解耦,使……
      • 多線程技術的歷史發展和簡單使用
        0閱讀 0條評論 個贊
        進程與線程進程是應用的執行實例,可狹義理解為一個應用程序就是一個進程。啟用一個應用程序時就是啟動了一個進程。該應用運行所需的所有地址空間,代碼,數據及系統資源都屬于此進程。進程所使用的所有資源會在進程……
      • 【云原生】-碼頭工人容器遷移神諭到關系型數據庫
        0閱讀 0條評論 個贊
        文章目錄前言??1.創建專用網絡??2.Oracle12C部署?2.1鏡像下載?2.2容器創建?2.3創建業務用戶?2.4監聽啟動??3.MySQL8部署?3.1容器……
      • Java精進-手寫持久層框架
        0閱讀 0條評論 個贊
        前言本文適合有一定java基礎的同學,通過自定義持久層框架,可以更加清楚常用的mybatis等開源框架的原理。JDBC操作回顧及問題分析學習java的同學一定避免不了接觸過jdbc,讓我們來回顧下初學……
      • 如何獲取Yarn和Spark UI的界面索引信息
        1閱讀 0條評論 個贊
        .css-1yuhvjn{margin-top:16px;}.css-3jt6os.FileLinkCard{-webkit-align-items:center;-webkit-box-align……
      • python入門系列(十)學習Python文件處理
        0閱讀 0條評論 個贊
        文件處理在Python中處理文件的關鍵函數是open()函數。有四種不同的方法(模式)來打開一個文件"r"-讀取-默認值。打開一個文件進行讀取,如果文件不存在則出錯。"a"-Append……
      • 與docker卷一起安裝的注意事項
        0閱讀 0條評論 個贊
        目錄Content使用數據卷(volume)使用掛載點(共享宿主目錄,bindmount)目錄兼容性可移植性目錄替代相關指定位置--volume與--mount區別鏡像保存docker-compos……
      • 適時變革 共創未來| 2022數字技能職業教育生態研討會圓滿落幕
        0閱讀 0條評論 個贊
        2022年8月25日,由恒利聯創主辦的“適時而變,聯創未來”2022數字技能職業教育生態研討會在線上舉行。本屆大會圍繞“數字技能職業教育和數字化人才培養”的話題,邀請了Oracle技術人才發展部總經理……
      • 《2022 分布式數據庫發展趨勢研究報告》的解釋
        9閱讀 0條評論 個贊
        分布式數據庫近年來廣受關注,目前,對分布式數據庫的討論,已經從什么是分布式數據庫,為什么要用分布式數據庫,轉變為怎樣規劃應用分布式數據庫。但分布式數據庫有3條不同的技術路線,這無疑增加了選型難度,到底……
      • 如何在Ubuntu中保留文件系統并備份當前開發板鏡像
        0閱讀 0條評論 個贊
        在Ubuntu保留文件系統或者說備份當前開發板鏡像的需求在不斷增加。比如Ubuntu文件系統需要安裝庫文件的話直接使用apt-get工具就可以下載,但由于需要下載的核心板較多,比較費時間,這時需要將安……
      • 記錄一次數據庫滿CPU的故障排除過程
        0閱讀 0條評論 個贊
        1前言近期隨著數據量的增長,數據庫CPU使用率100%報警頻繁起來。第一個想到的就是慢Sql,我們對未合理運用索引的表加入索引后,問題依然沒有得到解決,深入排查時,發現在orderbyida……
      • 如何不寫YAML來管理Kubernetes應用程序?
        2閱讀 0條評論 個贊
        Kubernetes將自身邊界內的事物都抽象為資源。其中的主要部分,是以Deployment、StatefulSet為代表的workload工作負載控制器,其他各類資源都圍繞這些主要的資源工……
      • 【高并發】從源碼角度深入分析線程池如何優雅退出
        0閱讀 0條評論 個贊
        大家好,我是冰河~~在【高并發專題】中,我們從源碼角度深度分析了線程池中那些重要的接口和抽象類、深度解析了線程池是如何創建的,ThreadPoolExecutor類有哪些屬性和內部類,以及它們對線程池……
      • 一個新網站如何快速優化排名?
        0閱讀 0條評論 個贊
        網站上線之后,需要面臨的問題不少,同樣的也要注意幾個工作流程,這樣才能讓新站更快參與排名,下面我們就來看看吧。新站在上線之后,需要大量的內容,如果前期只有一個人優化網站,那么每天都需要定時更新內容,確定每天的更新文章數量以及頻率,這樣蜘蛛能夠按照我們制定的更新時間來抓取,對于新站來說……
      • Velox簡介:一個開源的統一執行引擎
        0閱讀 0條評論 個贊
        ?Meta正在引入Velox,這是一個開源的統一執行引擎(unifiedexecutionengine),旨在加速數據管理系統和簡化其開發。?Velox正在積極開發中,Meta在2022……
      • 智聯消費基金業績仍穩坐行業'領頭羊':消費者投訴同比激增95%
        0閱讀 0條評論 個贊
        作為頭部持牌消費金融機構,在依托中國聯通和招商銀行的場景和渠道優勢實現高利潤的背后,其消費投訴量也在同期出現了爆發式增長。據監管通報數據顯示,今年上半年,招聯消費金融涉及投訴量2149件,較去年同期的1101件同比增長95%,環比增長34%?!?/div>
      • SQL Server 2005分區模板和實例
        0閱讀 0條評論 個贊
        一、場景這一段時間使用SQLServer2005對幾個系統進行表分區,這幾個系統都有一些特點,比如數據庫某張表持續增長,給數據庫帶來了很大的壓力?,F在假如提供一臺新的服務器,那么我們應該如何規劃……
      • 小米副總裁洪峰卸任天行數碼事業部法人代表 林世偉接任
        0閱讀 0條評論 個贊
        近日,企查查APP顯示,天星數科科技有限公司發生工商變更,小米聯合創始人、高級副總裁洪鋒退出該公司法定代表人以及董事、經理職位,由小米副總裁兼CFO林世偉接任?!?/div>
      • “橫店系”進退維谷:影視虧損仍重金投入 稀土磁性材料乘新能源“東風”
        0閱讀 0條評論 個贊
        1975年至今,徐文榮家族用47年時間,成功打造出一個坐擁六家上市公司,橫跨新材料、新能源、醫療醫藥、影視、金融等多個領域,合計市值接近900億……
      • 全志A40i核心板全國產化 照亮動力設備國產化之路
        1閱讀 0條評論 個贊
        國產化三個字近幾年來在電力行業內很火,新的設備、新的項目都開始有國產化的趨勢,要求自主可控,然而很多人只是泛泛地去看待“國產化”這三個字而沒有去深究它的重要性。自主可控有多重要?今天,我們就來認真地聊……
      • 華為和蘋果不是在競爭手機
        34閱讀 0條評論 個贊
        時隔兩年,華為在9月6號舉辦了高端手機品牌,mate50系列的全場景發布會,又一次跟蘋果對上,與蘋果iPhone14的秋季發布會只隔了一天。當真……
      • 金融科技Q2財報盤點:多方價值共現 賦能小微成為新增長引擎
        0閱讀 0條評論 個贊
        2022年金融科技Q2季度財報已新鮮出爐,在相對復雜的經濟環境下,金融科技的發展可以說是百舸爭流,再進一步。每一個行業都面臨著不同的挑戰,找尋適合自己的出路,合規穩健的運營才是可持續發展之道。通過金融科技Q2財報不難看出,各家機構雖然在體量上有一定差異,但是在服務小微企業、助企紓困上卻空前一致,財務指標呈現出良好態勢?!?/div>
      • 【MySQL】DDL因正在等待表元數據鎖定卡住
        0閱讀 0條評論 個贊
        在數據庫空閑時間,對表做碎片整理:1altertablemy_abcengine=innodb;發現會話被阻塞,顯示狀態是:1Waitingfortablemetadatalock手動斷開alte……
      • 科大訊飛重心下沉 致力于工業數字全景
        0閱讀 0條評論 個贊
        目前科大訊飛的強勢業務主要是智慧教育、智慧城市、開放平臺,工業數字生態涵蓋智慧汽車等。本次加碼工業互聯網,則代表科大訊飛向工業生態下沉,更凸顯了科大訊飛向產業數字化轉型進軍的決心?!?/div>
      • 嘉實基金FOF投資部唐唐:FOF基金投資組合的主線是投資核心資產
        0閱讀 0條評論 個贊
        在公募基金產品數量超萬只的“萬基時代”,不少投資者陷入“選基困難癥”,不知道買哪些?買幾只?何時買?被視為“專業基金買手”的公募FOF基金迎來歷……
      • 燦谷二季度凈虧損2.86億元同比扭虧:營收下降69% 助貸業務逾期率上升
        0閱讀 0條評論 個贊
        財報顯示,第二季度,燦谷總收入為2.892億元人民幣(合4320萬美元),較2021年同期的9.467億元人民幣同比下降69%;凈虧損為2.858億元人民幣(4270萬美元),去年同期凈利潤為5.577億元;經非公認會計準則調整的凈虧損為1.896億元人民幣(2830萬美元),去年同期調整后凈利潤為5.783億元?!?/div>
      • 教你如何構建JAVA分布式爬蟲
        0閱讀 0條評論 個贊
        在工作中,我們經常需要去獲取一些數據,但是這些數據可能需要從第三方平臺才可以獲取到。這個時候,爬蟲系統就可以幫助我們來完成這些事情。提到爬蟲系統,很多人都會想到使用python。但實際上,語言只……
      • 14天賺2500萬 一只羊做了一個測試人性的營銷實驗
        0閱讀 0條評論 個贊
        很難想象,一款籍籍無名,甚至連個版號都沒有的微信小游戲,竟然能在一夜之間成為全國人民討論關注的對象?!?/div>
      • 家電行業三巨頭年中角逐 格力還會再給力嗎?
        5閱讀 0條評論 個贊
        8月底,家電行業三巨頭扎堆發布了2022年中報,我從中報中發現,困擾格力渠道改革的問題出現了曙光。作為專業投資者看著每家公司近200頁中報,家電……
      • 野獸派上熱搜 據稱貼牌香水溢價14倍 向海琪由經緯中國投資
        32閱讀 0條評論 個贊
        出品:創業最前線9月9日消息,野獸派的相關話題沖上了微博熱搜。原因是鳳凰網科技爆料野獸派的多款香薰產品和香水產品,代工廠分別是曼莎(蘇州)工藝制……
      • 聚焦2022服務貿易交易會:AI決策既是“星辰大?!?也是“厚土”
        0閱讀 0條評論 個贊
        9月1日,2022服貿會中國智能產業論壇在北京首鋼園舉行。中國AI決策領先企業薩摩耶云科技集團創始人、董事長兼首席執行官林建明應邀參加活動,并通……
      最近發布資訊
      更多
      警花高潮嗷嗷叫
      <del id="nnjnj"></del><track id="nnjnj"></track>

      <p id="nnjnj"></p>

      <address id="nnjnj"></address>

        <pre id="nnjnj"><pre id="nnjnj"></pre></pre>

          <noframes id="nnjnj"><ruby id="nnjnj"><ruby id="nnjnj"></ruby></ruby>