<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          知名IT 巨頭:計劃裁員 6650,實際裁了 13000!

          共 4924字,需瀏覽 10分鐘

           ·

          2024-04-02 22:52

          點擊關(guān)注公眾號,SQL干貨及時獲取

          后臺回復(fù):1024,獲取海量學(xué)習(xí)資源
          SQL刷題專欄
          SQL刷題系列

          最近這一年,大家似乎對四位數(shù)甚至五位數(shù)的裁員數(shù)量都見怪不怪了!

          不過這家公司,實際的裁員人數(shù)卻較原計劃幾乎翻倍!

          根據(jù)科技硬件制造商戴爾披露的員工人數(shù), 截至2023年1月28日,其員工總數(shù)達到13.3萬人。

          然而,戴爾在周一的公告中表示,截至2024年2月2日,該公司在全球擁有12萬名員工,較前一年下降近10%。

          “在整個2024財年,我們持續(xù)采取特定措施來削減成本,”戴爾在文件中表示,“盡管做出了這些艱難的決定,但我們將繼續(xù)致力于為員工賦能,吸引、培養(yǎng)和留住人才。”

          面對個人電腦需求暴跌,戴爾2023年初宣布裁員6650人。最終,裁員人數(shù)幾乎翻倍!


          以下是今天的SQL干貨

          經(jīng)常有小伙伴問我這個存儲過程該如何寫?作為過來人我剛開始也有這樣的苦惱,今天就給大家說說這個存儲過程該如何創(chuàng)建和使用。

          什么是存儲過程

          存儲過程是一組可編程的函數(shù),是為了完成特定功能的SQL語句集,經(jīng)編譯創(chuàng)建并保存在數(shù)據(jù)庫中,用戶可通過指定存儲過程的名字并給定參數(shù)(需要時)來調(diào)用執(zhí)行。

          關(guān)鍵詞:可編程,特定功能,調(diào)用

          創(chuàng)建存儲過程

          我們以表customers為例,通過傳遞客戶ID的值來查詢客戶的具體信息:

          Customers

          示例:

          CREATE PROCEDURE sp_customers(IN cusid INT)
          BEGIN 
            SELECT * FROM customers WHERE `客戶ID`=cusid;
          END;

          上面這是一個比較簡單的存儲過程,主要的功能就是用來查詢客戶信息。這里我們先簡單解釋一下:

          • CREATE PROCEDURE:這是創(chuàng)建存儲過程的關(guān)鍵字,屬固定語法。
          • sp_customers:這是存儲過程名稱,當(dāng)我們執(zhí)行了該存儲過程后,系統(tǒng)就會出現(xiàn)一個該名稱的存儲過程,可以自定義。
          • IN:這是輸入?yún)?shù)的意思,當(dāng)然也有輸出參數(shù)關(guān)鍵字OUT,同時也可以不定義參數(shù),直接讓參數(shù)為空。
          • cusid INT:這是定義參數(shù)名和類型,這里我們定義了一個名為cusid,類型為INT的參數(shù)名。
          • BEGIN ... END :這是存儲過程過程體的固定語法,你需要執(zhí)行的SQL功能就寫在這中間。

          調(diào)用存儲過程

          上面我們創(chuàng)建好了存儲過程以后,就可以調(diào)用了。調(diào)用存儲過程的語法很簡單:

          CALL  sp_name([參數(shù)]) 

          下面我們來調(diào)用上面的存儲過程sp_customers

          CALL sp_customers(1);

          解釋:

          上面的代碼的意思就是將客戶ID為1的數(shù)據(jù),傳遞給存儲過程sp_customers,通過CALL來調(diào)用該存儲過程來執(zhí)行。結(jié)果為:

          細心的小伙伴可能已經(jīng)發(fā)現(xiàn)了,這不就是一個簡單的WHERE查詢語句嗎?是的,剛開始使用存儲過程時,其實不必把它神秘化,你越覺得它神秘越會覺得難以熟練使用。復(fù)雜的東西先簡單化,方可更進一步掌握。

          過程體

          • 過程體即我們在調(diào)用時必須執(zhí)行的SQL語句,上面的SELECT查詢即為一個簡單的過程體。
          • 過程體包含DML、DDL語句,if-then-else和while-do語句、聲明變量的declare語句等
          • 過程體的格式上面也已經(jīng)演示過,以BEGIN開始,以END結(jié)尾(可以嵌套)。

          例如:

          BEGIN
            BEGIN
              BEGIN
                -- SQL代碼;
              END
            END
          END

          注意:每個嵌套塊及其中的每條SQL語句,必須以分號(;)結(jié)束。表示過程體結(jié)束的BEGIN-END塊(又叫做復(fù)合語句compound statement),即END后面,則不需要分號。

          標(biāo)簽

          標(biāo)簽通常是與BEGIN-END一起使用,用來增強代碼的可讀性。語法為:

          [label_name:] BEGIN
          [statement_list]
          END [label_name]

          例如:

          label1: BEGIN
            label2: BEGIN
              label3: BEGIN
                --SQL代碼;
              END label3 ;
            END label2;
          END label1

          該功能不常用,了解即可。

          存儲過程的參數(shù)

          上面我們大致的說了一下存儲過程參數(shù)定義,下面我們再詳細給大家講述參數(shù)該如何使用。參數(shù)類型

          • IN輸入?yún)?shù):表示調(diào)用者向過程傳入值(傳入值可以是字面量或變量)
          • OUT輸出參數(shù):表示過程向調(diào)用者傳出值(可以返回多個值)(傳出值只能是變量)
          • INOUT輸入輸出參數(shù):既表示調(diào)用者向過程傳入值,又表示過程向調(diào)用者傳出值(值只能是變量)

          IN輸入?yún)?shù)

          上面的示例就是一個輸入?yún)?shù)的示例,這里不贅述。

          OUT輸出參數(shù)

          有如下存儲過程:

          CREATE PROCEDURE sp_customers_out(OUT cusname VARCHAR(20))
          BEGIN
            SELECT cusname;
            SELECT `姓名` INTO cusname FROM customers WHERE `客戶ID`=1;
            SELECT cusname;
          END

          調(diào)用上面的存儲過程:

          CALL sp_customers_out(@cusname);

          結(jié)果為:

          結(jié)果1
          結(jié)果2

          上面我們定義了一個輸出參數(shù)為cusname的參數(shù)(這里參數(shù)類型如果有長度必須給定長度)。

          然后在過程體里面,我們輸出了兩次參數(shù)的結(jié)果,結(jié)果1為NULL,是因為我們的輸出參數(shù)cusname還沒有接收任何值,所以為NULL;結(jié)果2里面有了客戶姓名,是因為我們將客戶ID為1的客戶姓名傳遞給了輸出參數(shù)cusname。

          INOUT輸入輸出參數(shù)

          這個不常見,但是也有使用,即同一個參數(shù)既為輸入?yún)?shù),也為輸出參數(shù),我們把上面的存儲過程稍微修改一下就可以看出區(qū)別了。

          CREATE PROCEDURE sp_customers_inout(INOUT cusname VARCHAR(20))
          BEGIN
            SELECT cusname;
            SELECT `姓名` INTO cusname FROM customers WHERE `客戶ID`=2;
            SELECT cusname;
          END

          調(diào)用上述存儲過程之前我們先給定一個輸入?yún)?shù):張三

          SET @cusname='張三';
          CALL sp_customers_inout(@cusname);

          結(jié)果為:

          結(jié)果1
          結(jié)果2

          上面我們定義了一個輸入輸出參數(shù)為cusname的參數(shù)。然后在過程體里面,我們輸出了兩次參數(shù)的結(jié)果:第一次我們將先定義好的“張三”(SET @cusname='張三')傳遞給參數(shù)cusname,此時它為輸入?yún)?shù)。進入過程體后首先輸出結(jié)果1為“張三”,此時參數(shù)cusname為輸出參數(shù);然后通過查詢將客戶ID為2的客戶姓名再次傳遞給cusname,來改變它的值,此時它同樣為輸出參數(shù),只是輸出結(jié)果發(fā)生了改變。

          以上就是三個參數(shù)的用法,建議:

          • 需要輸入值時使用IN參數(shù);
          • 需要返回值時使用OUT參數(shù);
          • INOUT參數(shù)盡量少用。
             
          最后給大家分享我寫的SQL兩件套:《SQL基礎(chǔ)知識第二版》《SQL高級知識第二版》的PDF電子版。里面有各個語法的解釋、大量的實例講解和批注等等,非常通俗易懂,方便大家跟著一起來實操。

          有需要的可以下載學(xué)習(xí),只需要在下面的公眾號「數(shù)據(jù)前線(非本號),后臺回復(fù)關(guān)鍵字:SQL,就行

          數(shù)據(jù)前線

                
          后臺回復(fù)關(guān)鍵字:1024,獲取一份精心整理的技術(shù)干貨
          后臺回復(fù)關(guān)鍵字:進群,帶你進入高手如云的交流群。
                 

          推薦閱讀

                   

          文章有幫助的話,點個贊或在看吧。

          謝謝支持

          瀏覽 61
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人福利视频 | 亚洲人成人 | 影音先锋女人av 影音先锋女人资源 | 97色噜噜视频 | 日本内射视频在线观看 |