主頁(yè) > 知識(shí)庫(kù) > 基于存儲(chǔ)過(guò)程的詳細(xì)介紹

基于存儲(chǔ)過(guò)程的詳細(xì)介紹

熱門標(biāo)簽:電銷外呼系統(tǒng)軟件功能 怎么給高德做地圖標(biāo)注 浙江穩(wěn)定外呼系統(tǒng)供應(yīng)商 美團(tuán)地圖標(biāo)注商戶認(rèn)證注冊(cè) 咸陽(yáng)電腦外呼系統(tǒng)運(yùn)營(yíng)商 慶陽(yáng)地圖標(biāo)注 榕城市地圖標(biāo)注 北京400電話辦理多少錢 承德地圖標(biāo)注公司名需要花錢嗎

存儲(chǔ)過(guò)程簡(jiǎn)介

--------------------------------------------------------------------------------什么是存儲(chǔ)過(guò)程:存儲(chǔ)過(guò)程可以說(shuō)是一個(gè)記錄集吧,它是由一些T-SQL語(yǔ)句組成的代碼塊,這些T-SQL語(yǔ)句代碼像一個(gè)方法一樣實(shí)現(xiàn)一些功能(對(duì)單表或多表的增刪改查),然后再給這個(gè)代碼塊取一個(gè)名字,在用到這個(gè)功能的時(shí)候調(diào)用他就行了。

存儲(chǔ)過(guò)程的好處:

1.由于數(shù)據(jù)庫(kù)執(zhí)行動(dòng)作時(shí),是先編譯后執(zhí)行的。然而存儲(chǔ)過(guò)程是一個(gè)編譯過(guò)的代碼塊,所以執(zhí)行效率要比T-SQL語(yǔ)句高。

2.一個(gè)存儲(chǔ)過(guò)程在程序在網(wǎng)絡(luò)中交互時(shí)可以替代大堆的T-SQL語(yǔ)句,所以也能降低網(wǎng)絡(luò)的通信量,提高通信速率。

3.通過(guò)存儲(chǔ)過(guò)程能夠使沒(méi)有權(quán)限的用戶在控制之下間接地存取數(shù)據(jù)庫(kù),從而確保數(shù)據(jù)的安全。

小結(jié):總之存儲(chǔ)過(guò)程是好東西,在做項(xiàng)目時(shí)屬于必備利器,下面介紹存儲(chǔ)過(guò)程的基本語(yǔ)法。

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

存儲(chǔ)過(guò)程的語(yǔ)法和參數(shù)講解

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

存儲(chǔ)過(guò)程的一些基本語(yǔ)法:

復(fù)制代碼 代碼如下:

--------------創(chuàng)建存儲(chǔ)過(guò)程-----------------

CREATE PROC [ EDURE ] procedure_name [ ; number ]
    [ { @parameter data_type }
        [ VARYING ] [ = default ] [ OUTPUT ]
    ] [ ,...n ]

[ WITH
    { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]

[ FOR REPLICATION ]

AS sql_statement [ ...n ]

--------------調(diào)用存儲(chǔ)過(guò)程-----------------

EXECUTE Procedure_name '' --存儲(chǔ)過(guò)程如果有參數(shù),后面加參數(shù)格式為:@參數(shù)名=value,也可直接為參數(shù)值value

--------------刪除存儲(chǔ)過(guò)程-----------------

drop procedure procedure_name    --在存儲(chǔ)過(guò)程中能調(diào)用另外一個(gè)存儲(chǔ)過(guò)程,而不能刪除另外一個(gè)存儲(chǔ)過(guò)程


創(chuàng)建存儲(chǔ)過(guò)程的參數(shù):

1.procedure_name :存儲(chǔ)過(guò)程的名稱,在前面加#為局部臨時(shí)存儲(chǔ)過(guò)程,加##為全局臨時(shí)存儲(chǔ)過(guò)程。

2.; number:是可選的整數(shù),用來(lái)對(duì)同名的過(guò)程分組,以便用一條 DROP PROCEDURE 語(yǔ)句即可將同組的過(guò)程一起除去。例如,名為 orders 的應(yīng)用程序使用的過(guò)程可以命名為 orderproc;1、orderproc;2 等。DROP PROCEDURE orderproc 語(yǔ)句將除去整個(gè)組。如果名稱中包含定界標(biāo)識(shí)符,則數(shù)字不應(yīng)包含在標(biāo)識(shí)符中,只應(yīng)在 procedure_name 前后使用適當(dāng)?shù)亩ń绶?

3.@parameter: 存儲(chǔ)過(guò)程的參數(shù)??梢杂幸粋€(gè)或多個(gè)。用戶必須在執(zhí)行過(guò)程時(shí)提供每個(gè)所聲明參數(shù)的值(除非定義了該參數(shù)的默認(rèn)值)。存儲(chǔ)過(guò)程最多可以有 2.100 個(gè)參數(shù)。
使用 @ 符號(hào)作為第一個(gè)字符來(lái)指定參數(shù)名稱。參數(shù)名稱必須符合標(biāo)識(shí)符的規(guī)則。每個(gè)過(guò)程的參數(shù)僅用于該過(guò)程本身;相同的參數(shù)名稱可以用在其它過(guò)程中。默認(rèn)情況下,參數(shù)只能代替常量,而不能用于代替表名、列名或其它數(shù)據(jù)庫(kù)對(duì)象的名稱。有關(guān)更多信息,請(qǐng)參見(jiàn) EXECUTE。

4.data_type:參數(shù)的數(shù)據(jù)類型。所有數(shù)據(jù)類型(包括 text、ntext 和 image)均可以用作存儲(chǔ)過(guò)程的參數(shù)。不過(guò),cursor 數(shù)據(jù)類型只能用于 OUTPUT 參數(shù)。如果指定的數(shù)據(jù)類型為 cursor,也必須同時(shí)指定 VARYING 和 OUTPUT 關(guān)鍵字。有關(guān) SQL Server 提供的數(shù)據(jù)類型及其語(yǔ)法的更多信息,請(qǐng)參見(jiàn)數(shù)據(jù)類型。
說(shuō)明 對(duì)于可以是 cursor 數(shù)據(jù)類型的輸出參數(shù),沒(méi)有最大數(shù)目的限制。

5.VARYING: 指定作為輸出參數(shù)支持的結(jié)果集(由存儲(chǔ)過(guò)程動(dòng)態(tài)構(gòu)造,內(nèi)容可以變化)。僅適用于游標(biāo)參數(shù)。

6.default: 參數(shù)的默認(rèn)值。如果定義了默認(rèn)值,不必指定該參數(shù)的值即可執(zhí)行過(guò)程。默認(rèn)值必須是常量或 NULL。如果過(guò)程將對(duì)該參數(shù)使用 LIKE 關(guān)鍵字,那么默認(rèn)值中可以包含通配符(%、_、[] 和 [^])。

7.OUTPUT :表明參數(shù)是返回參數(shù)。該選項(xiàng)的值可以返回給 EXEC[UTE]。使用 OUTPUT 參數(shù)可將信息返回給調(diào)用過(guò)程。Text、ntext 和 image 參數(shù)可用作 OUTPUT 參數(shù)。使用 OUTPUT 關(guān)鍵字的輸出參數(shù)可以是游標(biāo)占位符。

8.RECOMPILE: 表明 SQL Server 不會(huì)緩存該過(guò)程的計(jì)劃,該過(guò)程將在運(yùn)行時(shí)重新編譯。在使用非典型值或臨時(shí)值而不希望覆蓋緩存在內(nèi)存中的執(zhí)行計(jì)劃時(shí),請(qǐng)使用 RECOMPILE 選項(xiàng)。

9.ENCRYPTION: 表示 SQL Server 加密 syscomments 表中包含 CREATE PROCEDURE 語(yǔ)句文本的條目。使用 ENCRYPTION 可防止將過(guò)程作為 SQL Server 復(fù)制的一部分發(fā)布。 說(shuō)明 在升級(jí)過(guò)程中,SQL Server 利用存儲(chǔ)在 syscomments 中的加密注釋來(lái)重新創(chuàng)建加密過(guò)程。

10.FOR REPLICATION :指定不能在訂閱服務(wù)器上執(zhí)行為復(fù)制創(chuàng)建的存儲(chǔ)過(guò)程。.使用 FOR REPLICATION 選項(xiàng)創(chuàng)建的存儲(chǔ)過(guò)程可用作存儲(chǔ)過(guò)程篩選,且只能在復(fù)制過(guò)程中執(zhí)行。本選項(xiàng)不能和 WITH RECOMPILE 選項(xiàng)一起使用。

11.AS :指定過(guò)程要執(zhí)行的操作。

12.sql_statement :過(guò)程中要包含的任意數(shù)目和類型的 Transact-SQL 語(yǔ)句。但有一些限制。

小結(jié):看過(guò)這些基本語(yǔ)法后,下面我就根據(jù)語(yǔ)法創(chuàng)建各式的存儲(chǔ)過(guò)程。

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

 創(chuàng)建存儲(chǔ)過(guò)程 

UserAccount
UserID UserName PassWord RegisterTime RegisterIP
12 6                    6                    2012-12-31 6
18 5                    5                    2013-01-01 5
19 1                    1                    2013-01-01 1
20 2                    2                    2013-01-01 2
21 3                    3                    2013-01-01 3
22 4                    4                    2013-01-01 4
23 5                    5                    2013-01-01 5
25 7                    7                    2013-01-01 7
26 8                    8                    2013-01-01 8
NULL NULL NULL NULL NULL

針對(duì)上面的表,我使用存儲(chǔ)過(guò)程對(duì)它做一些操作:

1. 只返回單一記錄集的存儲(chǔ)過(guò)程

復(fù)制代碼 代碼如下:

-------------創(chuàng)建名為GetUserAccount的存儲(chǔ)過(guò)程----------------
create Procedure GetUserAccount
as
select * from UserAccount
go

-------------執(zhí)行上面的存儲(chǔ)過(guò)程----------------
exec GetUserAccount


 結(jié)果:相當(dāng)于運(yùn)行 select * from UserAccount 這行代碼,結(jié)果為整個(gè)表的數(shù)據(jù)。

2.沒(méi)有輸入輸出的存儲(chǔ)過(guò)程

復(fù)制代碼 代碼如下:

-------------創(chuàng)建名為GetUserAccount的存儲(chǔ)過(guò)程----------------

create Procedure inUserAccount
as
insert into UserAccount (UserName,[PassWord],RegisterTime,RegisterIP) values(9,9,'2013-01-02',9)
go

-------------執(zhí)行上面的存儲(chǔ)過(guò)程----------------

exec inUserAccount


 結(jié)果:相當(dāng)于運(yùn)行 insert into UserAccount (UserName,[PassWord],RegisterTime,RegisterIP) values(9,9,'2013-01-02',9) 這行代碼。

3.有返回值的存儲(chǔ)過(guò)程

復(fù)制代碼 代碼如下:

-------------創(chuàng)建名為GetUserAccount的存儲(chǔ)過(guò)程----------------

create Procedure inUserAccountRe
as
insert into UserAccount (UserName,[PassWord],RegisterTime,RegisterIP) values(10,10,'2013-01-02',10)
return @@rowcount
go

-------------執(zhí)行上面的存儲(chǔ)過(guò)程----------------

exec inUserAccountRe


 解釋:這里的@@rowcount為執(zhí)行存儲(chǔ)過(guò)程影響的行數(shù),執(zhí)行的結(jié)果是不僅插入了一條數(shù)據(jù),還返回了一個(gè)值即 return value =1  ,這個(gè)可以在程序中獲取,稍后在c#調(diào)用存儲(chǔ)過(guò)程中會(huì)有說(shuō)到。

4.有輸入?yún)?shù)和輸出參數(shù)的存儲(chǔ)過(guò)程

復(fù)制代碼 代碼如下:

-------------創(chuàng)建名為GetUserAccount的存儲(chǔ)過(guò)程----------------

create Procedure GetUserAccountRe
@UserName nchar(20),
@UserID int output
as
if(@UserName>5)
select @UserID=COUNT(*) from UserAccount where UserID>25
else
set @UserID=1000
go

-------------執(zhí)行上面的存儲(chǔ)過(guò)程----------------

exec GetUserAccountRe '7',null


解釋:@UserName為輸入?yún)?shù),@UserID為輸出參數(shù)。 運(yùn)行結(jié)果為@userID為COOUT(*)即 =1。

5. 同時(shí)具有返回值、輸入?yún)?shù)、輸出參數(shù)的存儲(chǔ)過(guò)程

復(fù)制代碼 代碼如下:

-------------創(chuàng)建名為GetUserAccount的存儲(chǔ)過(guò)程----------------

create Procedure GetUserAccountRe1
@UserName nchar(20),
@UserID int output
as
if(@UserName>5)
select @UserID=COUNT(*) from UserAccount where UserID>25
else
set @UserID=1000
return @@rowcount
go

-------------執(zhí)行上面的存儲(chǔ)過(guò)程----------------

exec GetUserAccountRe1 '7',null


結(jié)果:@userID為COOUT(*)即 =1,Retun Value=1。

6.同時(shí)返回參數(shù)和記錄集的存儲(chǔ)過(guò)程

復(fù)制代碼 代碼如下:

-------------創(chuàng)建名為GetUserAccount的存儲(chǔ)過(guò)程----------------

create Procedure GetUserAccountRe2
@UserName nchar(20),
@UserID int output
as
if(@UserName>5)
select @UserID=COUNT(*) from UserAccount where UserID>25
else
set @UserID=1000
select * from UserAccount
return @@rowcount
go

-------------執(zhí)行上面的存儲(chǔ)過(guò)程----------------

exec GetUserAccountRe2 '7',null


 結(jié)果:返回執(zhí)行 select * from UserAccount 這句代碼的結(jié)果集,同時(shí)@userID為COOUT(*)即 =1,Retun Value=9。

7.返回多個(gè)記錄集的存儲(chǔ)過(guò)程

復(fù)制代碼 代碼如下:

-------------創(chuàng)建名為GetUserAccount的存儲(chǔ)過(guò)程----------------

create Procedure GetUserAccountRe3
as
select * from UserAccount
select * from UserAccount where UserID>5
go

-------------執(zhí)行上面的存儲(chǔ)過(guò)程----------------

exec GetUserAccountRe3


結(jié)果:返回兩個(gè)結(jié)果集,一個(gè)為 select * from UserAccount,另一個(gè)為 select * from UserAccount where UserID>5 。

小結(jié):上面我們創(chuàng)建了各式的存儲(chǔ)過(guò)程,下面看我們?cè)赾#中怎樣調(diào)用這些存儲(chǔ)過(guò)程。

 c#調(diào)用存儲(chǔ)過(guò)程

 這里調(diào)用的存儲(chǔ)過(guò)程為上面我寫的那些各式各樣的存儲(chǔ)過(guò)程。
 

復(fù)制代碼 代碼如下:

 View Code

public partial class ProcedureTest : System.Web.UI.Page
    {
        public static  string conn = ConfigurationManager.ConnectionStrings["StuRelationDBConnectionString"].ConnectionString;
        public SqlConnection con = new SqlConnection(conn);
        protected void Page_Load(object sender, EventArgs e)
        {
            runGetUserAccountRe3();
        }

        //只返回單一記錄集的存儲(chǔ)過(guò)程GetUserAccount
        public void runGetUserAccount()
        {
            SqlDataAdapter dp = new SqlDataAdapter(common("GetUserAccount"));
            DataSet ds = new DataSet();
            // 填充dataset
            dp.Fill(ds);
            rpt.DataSource = ds;
            rpt.DataBind();

        }

        //沒(méi)有輸入輸出的存儲(chǔ)過(guò)程inUserAccount
        public void runinUserAccount()
        {           
            con.Open();
            Label1.Text = common("inUserAccount").ExecuteNonQuery().ToString();
            con.Close();
        }

        //有返回值的存儲(chǔ)過(guò)程inUserAccountRe
        public void runinUserAccountRe()
        {
            // 創(chuàng)建參數(shù)
            SqlCommand cmd = common("inUserAccountRe");
            IDataParameter[] parameters = {
                 new SqlParameter("rval", SqlDbType.Int,4)
             };
            // 將參數(shù)類型設(shè)置為 返回值類型
            parameters[0].Direction = ParameterDirection.ReturnValue;
            // 添加參數(shù)
            cmd.Parameters.Add(parameters[0]);
            con.Open();
            // 執(zhí)行存儲(chǔ)過(guò)程并返回影響的行數(shù)
            Label1.Text = cmd.ExecuteNonQuery().ToString();
            con.Close();
            // 顯示影響的行數(shù)和返回值
            Label1.Text += "-" + parameters[0].Value.ToString();
        }

        //有輸入?yún)?shù)和輸出參數(shù)的存儲(chǔ)過(guò)程
        public void runGetUserAccountRe()
        {
            SqlCommand cmd = common("GetUserAccountRe");
            // 創(chuàng)建參數(shù)
            IDataParameter[] parameters = {
                 new SqlParameter("@UserName", SqlDbType.NChar,20) ,
                 new SqlParameter("@UserID", SqlDbType.Int) ,
             };
            // 設(shè)置參數(shù)類型
            parameters[0].Value = "7"; 
            parameters[1].Direction = ParameterDirection.Output;  // 設(shè)置為輸出參數(shù)
            // 添加參數(shù)
            cmd.Parameters.Add(parameters[0]);
            cmd.Parameters.Add(parameters[1]);
            con.Open();
            // 執(zhí)行存儲(chǔ)過(guò)程并返回影響的行數(shù)
            Label1.Text = cmd.ExecuteNonQuery().ToString();
            con.Close();          
            // 顯示影響的行數(shù)和輸出參數(shù)
            Label1.Text += "-" + parameters[1].Value.ToString();

        }

        //同時(shí)具有返回值、輸入?yún)?shù)、輸出參數(shù)的存儲(chǔ)過(guò)程GetUserAccountRe1
        public void runGetUserAccountRe1()
        {
            SqlCommand cmd = common("GetUserAccountRe1");
            // 創(chuàng)建參數(shù)
            IDataParameter[] parameters = {
                 new SqlParameter("@UserName", SqlDbType.NChar,20) ,
                 new SqlParameter("@UserID", SqlDbType.Int) ,
                 new SqlParameter("rval", SqlDbType.Int,4)
             };
            // 設(shè)置參數(shù)類型
            parameters[0].Value = "7";
            parameters[1].Direction = ParameterDirection.Output;  // 設(shè)置為輸出參數(shù)
            parameters[2].Direction = ParameterDirection.ReturnValue;  //設(shè)置為返回值
            // 添加參數(shù)
            cmd.Parameters.Add(parameters[0]);
            cmd.Parameters.Add(parameters[1]);
            cmd.Parameters.Add(parameters[2]);
            con.Open();
            // 執(zhí)行存儲(chǔ)過(guò)程并返回影響的行數(shù)
            Label1.Text = cmd.ExecuteNonQuery().ToString();
            con.Close();
            // 顯示影響的行數(shù)和輸出參數(shù)
            Label1.Text += "-輸出參數(shù)為:" + parameters[1].Value.ToString();
            Label1.Text += "-返回值為:" + parameters[2].Value.ToString();

        }

        //同時(shí)返回參數(shù)和記錄集的存儲(chǔ)過(guò)程GetUserAccountRe2
        public void runGetUserAccountRe2()
        {
            SqlCommand cmd = common("GetUserAccountRe2");
            // 創(chuàng)建參數(shù)
            IDataParameter[] parameters = {
                 new SqlParameter("@UserName", SqlDbType.NChar,20) ,
                 new SqlParameter("@UserID", SqlDbType.Int) ,
                 new SqlParameter("rval", SqlDbType.Int,4)
             };
            // 設(shè)置參數(shù)類型
            parameters[0].Value = "7";
            parameters[1].Direction = ParameterDirection.Output;  // 設(shè)置為輸出參數(shù)
            parameters[2].Direction = ParameterDirection.ReturnValue;  //設(shè)置為返回值
            // 添加參數(shù)
            cmd.Parameters.Add(parameters[0]);
            cmd.Parameters.Add(parameters[1]);
            cmd.Parameters.Add(parameters[2]);
            con.Open();
            // 執(zhí)行存儲(chǔ)過(guò)程并返回影響的行數(shù)
            Label1.Text = cmd.ExecuteNonQuery().ToString();
            DataSet ds = new DataSet();
            SqlDataAdapter dt = new SqlDataAdapter(cmd);
            dt.Fill(ds);
            rpt.DataSource = ds;
            rpt.DataBind();
            con.Close();
            // 顯示影響的行數(shù)和輸出參數(shù)
            Label1.Text += "-輸出參數(shù)為:" + parameters[1].Value.ToString();
            Label1.Text += "-返回值為:" + parameters[2].Value.ToString();

        }

        //返回多個(gè)記錄集的存儲(chǔ)過(guò)程
        public void runGetUserAccountRe3()
        {
            DataSet ds = new DataSet();
            SqlDataAdapter dt = new SqlDataAdapter(common("GetUserAccountRe3"));
            dt.Fill(ds);
            rpt1.DataSource = ds.Tables[0].DefaultView;
            rpt1.DataBind();
            rpt2.DataSource = ds.Tables[1].DefaultView;
            rpt2.DataBind();
        }

        public SqlCommand common(string proName)
        {

            SqlCommand cmd = new SqlCommand();
            // 設(shè)置sql連接
            cmd.Connection = con;           
            // 如果執(zhí)行語(yǔ)句
            cmd.CommandText = proName;
            // 指定執(zhí)行語(yǔ)句為存儲(chǔ)過(guò)程
            cmd.CommandType = CommandType.StoredProcedure;
            return cmd;
        }
    }
 


附帶SQLServer數(shù)據(jù)庫(kù)的一些全局變量
復(fù)制代碼 代碼如下:

View Code

select APP_NAME ( ) as w --當(dāng)前會(huì)話的應(yīng)用程序

select @@IDENTITY   --返回最后插入的標(biāo)識(shí)值
select USER_NAME()    --返回用戶數(shù)據(jù)庫(kù)用戶名

SELECT @@CONNECTIONS  --返回自上次SQL啟動(dòng)以來(lái)連接或試圖連接的次數(shù)。
SELECT GETDATE() --當(dāng)前時(shí)間
SELECT @@CPU_BUSY/100  --返回自上次啟動(dòng)SQL 以來(lái) CPU 的工作時(shí)間,單位為毫秒

USE tempdb SELECT @@DBTS  as w  --為當(dāng)前數(shù)據(jù)庫(kù)返回當(dāng)前 timestamp 數(shù)據(jù)類型的值。這一 timestamp 值保證在數(shù)據(jù)庫(kù)中是唯一的。
select @@IDENTITY as w --返回最后插入的標(biāo)識(shí)值
SELECT @@IDLE  as w  --返回SQL自上次啟動(dòng)后閑置的時(shí)間,單位為毫秒
SELECT @@IO_BUSY AS w   --返回SQL自上次啟動(dòng)后用于執(zhí)行輸入和輸出操作的時(shí)間,單位為毫秒
SELECT @@LANGID AS w   --返回當(dāng)前所使用語(yǔ)言的本地語(yǔ)言標(biāo)識(shí)符(ID)。
SELECT @@LANGUAGE AS w   --返回當(dāng)前使用的語(yǔ)言名
SELECT @@LOCK_TIMEOUT as w  --當(dāng)前會(huì)話的當(dāng)前鎖超時(shí)設(shè)置,單位為毫秒。
SELECT @@MAX_CONNECTIONS  as w  --返回SQL上允許的同時(shí)用戶連接的最大數(shù)。返回的數(shù)不必為當(dāng)前配置的數(shù)值
EXEC sp_configure  --顯示當(dāng)前服務(wù)器的全局配置設(shè)置
SELECT @@MAX_PRECISION as w --返回 decimal 和 numeric 數(shù)據(jù)類型所用的精度級(jí)別,即該服務(wù)器中當(dāng)前設(shè)置的精度。默認(rèn)最大精度38。
select @@OPTIONS  as w  --返回當(dāng)前 SET 選項(xiàng)的信息。
SELECT @@PACK_RECEIVED as w  --返回SQL自啟動(dòng)后從網(wǎng)絡(luò)上讀取的輸入數(shù)據(jù)包數(shù)目。
SELECT @@PACK_SENT as w  --返回SQ自上次啟動(dòng)后寫到網(wǎng)絡(luò)上的輸出數(shù)據(jù)包數(shù)目。
SELECT @@PACKET_ERRORS as w  --返回自SQL啟動(dòng)后,在SQL連接上發(fā)生的網(wǎng)絡(luò)數(shù)據(jù)包錯(cuò)誤數(shù)。
SELECT @@SERVERNAME as w --返回運(yùn)行SQL服務(wù)器名稱。
SELECT @@SERVICENAME  as w --返回SQL正在其下運(yùn)行的注冊(cè)表鍵名
SELECT @@TIMETICKS  as w --返回SQL服務(wù)器一刻度的微秒數(shù)
SELECT @@TOTAL_ERRORS AS w  --返回 SQL服務(wù)器自啟動(dòng)后,所遇到的磁盤讀/寫錯(cuò)誤數(shù)。
SELECT @@TOTAL_READ  as w  --返回 SQL服務(wù)器自啟動(dòng)后讀取磁盤的次數(shù)。
SELECT @@TOTAL_WRITE as w  --返回SQL服務(wù)器自啟動(dòng)后寫入磁盤的次數(shù)。
SELECT @@TRANCOUNT  as w  --返回當(dāng)前連接的活動(dòng)事務(wù)數(shù)。
SELECT @@VERSION as w  --返回SQL服務(wù)器安裝的日期、版本和處理器類型。


標(biāo)簽:拉薩 上海 貴州 新鄉(xiāng) 呼和浩特 昭通 江蘇 重慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于存儲(chǔ)過(guò)程的詳細(xì)介紹》,本文關(guān)鍵詞  基于,存儲(chǔ),過(guò)程,的,詳細(xì),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于存儲(chǔ)過(guò)程的詳細(xì)介紹》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于基于存儲(chǔ)過(guò)程的詳細(xì)介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章