SQL語句中output的用法
在SQL語句中,output可以作為返回值來使用,下面就將為您介紹output的使用實(shí)例,供您參考,希望對(duì)您學(xué)習(xí)SQL語句有所幫助。
1.我們先看這個(gè)存儲(chǔ)過程
代碼:
1 set ANSI_NULLS ON
2 set QUOTED_IDENTIFIER ON
3 go
4
5 --added by hendyzhu 驗(yàn)證身份證的唯一性,排除同一個(gè)人有多個(gè)居民健康檔案
6 --2010-5-28
7 create procedure [dbo].[DistinctSame]
8 (
9 @ID varchar(20),
10 @count int output --這里我們看到設(shè)置@count為output,即為輸出型的參數(shù)
11 )
12 as
13 begin
14 select @count=count(*) from MainArchives where ID=@ID
15 end
16
執(zhí)行完這個(gè)存儲(chǔ)過程之后,@count將作為該存儲(chǔ)過程的返回值被返回。
2.現(xiàn)在在C#代碼中,我們就可以新建一個(gè)輸出型參數(shù),當(dāng)數(shù)據(jù)庫執(zhí)行完查詢之后,我們就可以通過getParameterValue()方法獲取到存儲(chǔ)過程的返回值。
代碼:
1 public static bool IsNotRegistered(string id)
2 {
3 Database db = DatabaseFactory.CreateDatabase();
4 DbCommand creditCommand =db.GetStoredProcCommand("dbo.DistinctSame");
5 db.AddInParameter(creditCommand, "@ID", DbType.StringFixedLength,id.Trim());
6 db.AddOutParameter(creditCommand,"@count",DbType.StringFixedLength,32767); //注意到這里,給存儲(chǔ)過程添加了一個(gè)@count輸出型參數(shù)
7 db.ExecuteNonQuery(creditCommand);//執(zhí)行查詢
8 int result=int.Parse(db.GetParameterValue(creditCommand,"@count").ToString());//獲取存儲(chǔ)過程的返回值
9 if (result == 0)
10 {
11 return true;
12 }
13 else
14 {
15 return false;
16 }
17 }
3.通過上面一個(gè)簡單的例子,我們就可以輕松的理解SQL語句中output的使用方法。
【編輯推薦】
sqlplus執(zhí)行存儲(chǔ)過程和sql語句的寫法