婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 關于SQL 存儲過程入門基礎(基礎知識)

關于SQL 存儲過程入門基礎(基礎知識)

熱門標簽:承德地圖標注公司名需要花錢嗎 咸陽電腦外呼系統運營商 榕城市地圖標注 電銷外呼系統軟件功能 北京400電話辦理多少錢 浙江穩定外呼系統供應商 慶陽地圖標注 怎么給高德做地圖標注 美團地圖標注商戶認證注冊

大學里面對存儲過程沒有講到什么,工作了一段時間,對存儲過程還是沒有用到,根本不需要去寫存儲過程,可能是做的軟件方向的原因吧。為了以后發展,決定從零開始學習下。

這里看看存儲過程的定義,

存儲過程(Stored Procedure),是一組為了完成特定功能的SQL 語句,集經編譯后存儲在數據庫中,用戶通過指定存儲過程的名字并給出參數,如果該存儲過程帶有參數來執行。

在SQL Server 的系列版本中,存儲過程分為兩類:系統提供的存儲過程和用戶自定義存儲過程。

  系統SP,主要存儲master 數據庫中,并以sp_為前綴并且系統存儲過程主要是從系統表中獲取信息,從而為系統管理員管理SQL Server。

    常用系統存儲過程有:

復制代碼 代碼如下:

exec sp_databases; --查看數據庫
exec sp_tables;        --查看表
exec sp_columns student;--查看列
exec sp_helpIndex student;--查看索引
exec sp_helpConstraint student;--約束
exec sp_stored_procedures;
exec sp_helptext 'sp_stored_procedures';--查看存儲過程創建、定義語句
exec sp_rename student, stuInfo;--修改表、索引、列的名稱
exec sp_renamedb myTempDB, myDB;--更改數據庫名稱
exec sp_defaultdb 'master', 'myDB';--更改登錄名的默認數據庫
exec sp_helpdb;--數據庫幫助,查詢數據庫信息
exec sp_helpdb master;

用戶自定義存儲過程是由用戶創建,并能完成某一特定功能,如:查詢用戶所需數據信息的存儲過程。

這里我們看看存儲過程的好處;

        (1)重復使用。存儲過程可以重復使用,從而可以減少數據庫開發人員的工作量。

        (2)提高性能。存儲過程在創建的時候就進行了編譯,將來使用的時候不用再重新編譯。一般的SQL語句每執行一次就需要編譯一次,所以使用存儲過程提高了效率。

        (3)減少網絡流量。存儲過程位于服務器上,調用的時候只需要傳遞存儲過程的名稱以及參數就可以了,因此降低了網絡傳輸的數據量。

        (4)安全性。參數化的存儲過程可以防止SQL注入式的攻擊,而且可以將Grant、Deny以及Revoke權限應用于存儲過程。

 

   好了,我們來看看創建的基本語法

復制代碼 代碼如下:

定義存儲過程的語法

    CREATE  PROC[EDURE]  存儲過程名

              @參數1  數據類型 = 默認值,

               …… ,

              @參數n  數據類型 OUTPUT

            AS

            SQL語句

    GO
,參數是可選的
,參數分為輸入參數、輸出參數
,輸入參數允許有默認值

  這里來創建一個簡單的存儲過程
 

CREATE PROCEDURE UserLogin
@name varchar(20),
@password varchar(20)

AS

-- 定義一個臨時用來保存密碼的變量
--DECLARE @strPwd NVARCHAR(20) 這里先不介紹變量。稍后的文章會詳細講到
BEGIN
select * from userinfo where userName=@name and userPass=@password
END
GO

首先我們用簡單的sql查詢

select * from userinfo where userName='admin'

查詢結果:

---------------------

UserName  UserPass

Admin      Admin

現在我們來執行我們的存儲過程
exec UserLogin admin,admin

--或這樣調用:
EXEC UserLogin @name='admin',@password='admin'

查詢結果:

---------------------

UserName  UserPass

Admin      Admin

注意,在SQL SERVER中,所有用戶定義的變量都以“@”開頭,OUTPUT關鍵字表示這個參數是用來輸出的,AS之后就是存儲過程內容了。只要將以上代碼在“查詢分析器”里執行一次,SQL SERVER就會在當前數據庫中創建一個名為“UserLogin”的存儲過程。你可以打開“企業管理器”,選擇當前操作的數據庫,然后在左邊的樹型列表中選擇"可編程性->存儲過程",此時就可以在右邊的列表中看到你剛剛創建的存儲過程了(如果沒有,刷新一下即可)。

看到了在數據中調用存儲過程的方法有兩種(這里EXEC與EXECUTE等效);

      EXEC  過程名  參數值1,參數值2,....


或者

 EXEC 參數1=參數值1,參數2=參數值2....

上面我們也看到了。

 如果要刪除一個存儲過程,用drop

像這樣

復制代碼 代碼如下:

drop PROCEDURE UserLogin

創建這樣的存儲過程有什么用呢,不是只能在數據中查看賽。

我們在做web或者winform 程序,假設需要個登錄,好,我們可以調用用這個存儲過程來登錄,根據傳入的參數,如果查詢出來有記錄,那么這條記錄在數據庫中存在,表示登錄成功,否則失敗。

這樣做的目的更加安全,可以防止sql注入。

標簽:昭通 上海 呼和浩特 重慶 新鄉 貴州 拉薩 江蘇

巨人網絡通訊聲明:本文標題《關于SQL 存儲過程入門基礎(基礎知識)》,本文關鍵詞  關于,SQL,存儲,過程,入門,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《關于SQL 存儲過程入門基礎(基礎知識)》相關的同類信息!
  • 本頁收集關于關于SQL 存儲過程入門基礎(基礎知識)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 淳化县| 湛江市| 玉门市| 丹江口市| 西充县| 霍林郭勒市| 陈巴尔虎旗| 磴口县| 宝丰县| 石家庄市| 麦盖提县| 南陵县| 图片| 牡丹江市| 泽普县| 新竹县| 如东县| 诸暨市| 柘荣县| 河曲县| 东阳市| 界首市| 广元市| 凤凰县| 璧山县| 松溪县| 郴州市| 西畴县| 高青县| 寿光市| 东明县| 轮台县| 日土县| 岳普湖县| 凤庆县| 新余市| 东兴市| 朝阳市| 米脂县| 定陶县| 中超|