當前位置:首頁 » 存儲配置 » 存儲過程類型

存儲過程類型

發布時間: 2022-01-15 03:34:42

資料庫儲存過程有哪些種類

一個存儲過程既是一個系統的標准組件,也是一個可編程的函數,它在資料庫中創建並保存,總體來說關系資料庫系統中存在如下幾大類型存儲過程。

1.系統存儲過程系統存儲過程以sp_開頭,用來進行系統的各項設定,取得系統的各項信息,管理系統的各項相關工作。

2.本地存儲過程本地存儲過程由用戶創建,是為了完成某一特定功能的sql語句集。事實上,一般所說的存儲過程就是指本地存儲過程。

3.臨時存儲過程臨時存儲過程分為本地臨時存儲過程、全局臨時存儲過程兩種。

((1)本地臨時存儲過程。以井字型大小(#)作為其名稱的第一個字元,則該存儲過程將成為一個存放在tempdb資料庫中的本地臨時存儲過程,且只有創建它的用戶才能執行它。

(2)全局臨時存儲過程。以兩個井字型大小(##)開始,則該存儲過程將成為一個存儲在tempdb資料庫中的全局臨時存儲過程。全局臨時存儲過程一旦創建,以後連接到伺服器的任意用戶都可以執行它,而且不需要特定的許可權。

4.遠程存儲過程在特定資料庫中,遠程存儲過程是位於遠程伺服器上的存儲過程,通常可以使用分布式查詢和EXECUTE命令執行一個遠程存儲過程。

5.擴展存儲過程擴展存儲過程是用戶使用外部程序語言編寫的存儲過程,擴展存儲過程的名稱通常以xp_開頭。

⑵ sql,server中的存儲過程有幾種類型

》系統過程,用戶過程;
》內部過程,擴展存貯過程(外部dll)

⑶ 存儲過程默認的參數類型

@TableName varchar(50), //申明參數和參數類型
@ReFieldsStr varchar(200) = '*', //申明參數和參數類型並且該參數值默認為*
@OrderString varchar(200), //申明參數和參數類型
@WhereString varchar(500) =N'', //申明參數和參數類型並且該參數值默認為N
兩者的區別雖然都申明了函數類型,但是一個有默認值,一個沒有
@TotalRecord int output //輸出參數,一般用來獲取存儲過程的返回數值

⑷ 存儲過程:帶參數類型有哪些

有in,out,inout
in:表示參數從外部傳入到裡面使用(過程內部使用),可以是直接數據也可以是保存數據的變數
out:表示參數是從過程裡面吧數據保存到變數中,交給外部使用,傳入的必須的變數
inout:數據可以從外部傳入到過程內部使用,同時內部操作之後,又會將數據返還給外部

⑸ c# 獲取存儲過程參數名和類型

using (var conn = new SqlConnection(ConnectionString))
{
conn.Open();
var restrictions = new string[3];
restrictions[2] = "getCourseByStudentId";
var d = conn.GetSchema("ProcereParameters", restrictions);
}
得到的d變數,是一個datatable對象,裡面有你想要的。

⑹ 存儲過程類型轉換

自己寫的么?
1有些地方沒必要4個單引號,3個就行,在sql中字元串的拼接語句中要表示1個單引號就得用兩個單引號,前一個表示轉義的意思,編程語言都有轉義一說
2因為是字元串拼接的,而@FormerPrice這些是money類型的,如果不轉換,就默認要把字元串轉換成money類型了,就會出錯。所以得把@FormerPrice之類的轉換成字元類型的,存儲過程修改如下
ALTER PROCEDURE [dbo].[SearchMerchandise]
@Category varchar(50),
@Brand varchar(50),
@Type varchar(50),
@FormerPrice money,
@LatterPrice money
AS
BEGIN
declare @QueryString varchar(100)
set @QueryString = 'select * from Merchandise where Category = ''' + @Category + ''' and Brand = ''' + @Brand + ''' '
SET NOCOUNT ON;

if @Type<>''
set @QueryString = @QueryString+' and Type=''' +@Type+ ''''
if @FormerPrice<>'' and @LatterPrice<>''
set @QueryString = @QueryString+' and PriceNow between '''+ convert(varchar(20),@FormerPrice) + ''' and ''' + convert(varchar(20),@LatterPrice) + ''''
if @FormerPrice<>'' and @LatterPrice=''
set @QueryString = @QueryString+' and PriceNow >=''' + convert(varchar(20),@FormerPrice) + ''''
if @FormerPrice='' and @LatterPrice<>''
set @QueryString = @QueryString+' and PriceNow <=''' + convert(varchar(20),@LatterPrice) + ''''

exec(@QueryString)
END
因為沒有表結果不能進行測試,所以可能會出錯,如果出錯就把表結果發一下,進行測試

⑺ 簡答:存儲過程的類型以及什麼情況下使用什麼存儲過程。 很急 幫忙

我不知道你要問的是哪個資料庫中(SQL Server,DB2,Oracle,Sybase)的存儲過程,但統一看來可以分成兩類:
一:用戶類
用戶類又可以分為三類:1帶參數的存儲過程,2不帶參數的存儲過程,3還有就是觸發器。
1:帶參數的存儲過程中的參數有兩種:輸入參數和輸出參數,如果過程需要傳入參數或者說是傳入值 的時候就要用到輸入參數,如果在執行完一個過程後需要將某個過程中的值拋出去,那麼就需要輸出out 參數了。
2:這種比較簡單,執行這種過程就如同select語句或者視圖一樣,無輸入輸出參數,就等於這過程不受任何變數的影響,是固定的輸出結果。
3:觸發器其實也是一種存儲過程,只不過比較特殊而已,它不需要認為去執行它,而是在用戶對某個表執行插入刪除更新操作時觸發執行。
二:系統類
安裝資料庫時系統自帶的存儲過程,用戶創建資料庫時系統默認創建的存儲過程。

⑻ 資料庫原理-存儲過程的類型有哪些分別有什麼特徵。

(3).存儲過程分類<1>.系統存儲過程系統存儲過程(System
Stored
Proceres)主要存儲在master資料庫中,並以sp_為前綴,並且系統存儲過程主要是從系統表中獲取信息,從而為系統管理員管理SQL
Server提供支持。<2>.本地存儲過程本地存儲過程(Local
Stored
Proceres)也就是用戶自行創建在用戶資料庫中的存儲過程。事實上一般所說的存儲過程值得就是本地存儲過程。用戶創建的存儲過程是由用戶創建並能完成某一特定功能(如查詢用戶所需的數據信息)的存儲過程。<3>.臨時存儲過程臨時存儲過程(Temporary
Stored
Proceres)可分為以下兩種:A.本地臨時存儲過程如果在創建存儲過程中,以井號(#)作為其名稱的第一個字元,則該存儲過程將成為一個存放在tempdb資料庫中的本地臨時存儲過程(例如,CREATE
PROCEDURE
#book_proc.....)。本地臨時存儲過程只有創建它的連接的用戶才能夠執行它,而且一旦這位用戶斷開與SQL
Server的連接,本地臨時存儲過程就會自動刪除,當然,這位用戶也可以在連接期間用DROP
PROCEDURE命令刪除多創建的本地臨時存儲過程。B.全局臨時存儲過程如果在所創建的存儲過程名稱是以兩個井號(#
#)開始,則該存儲過程將成為一個存儲在tempdb資料庫中的全局臨時存儲過程,如果沒有,便立即將全局臨時存儲過程刪除;如果有,SQL
Server會讓這些執行中的操作繼續進行,但是不允許任何用戶再執行全局臨時存儲過程,等到所有未完成的操作執行完畢後,全局臨時存儲過程就會自動刪除。由於全局臨時存儲過程能夠被所有的連接用戶使用,因此,必須注意其名稱不能和其他連接所採用的名稱相同。<4>.遠程存儲過程遠程存儲過程(Remote
Stored
Proceres)是位於遠程伺服器上的存儲過程,通常可以使用分布式查詢和EXECUTE命令執行一個遠程存儲過程。

⑼ SQL Server2005中存儲過程的類型有哪些

存儲過程是指封裝了可重用代碼的模塊或常式。存儲過程可以接受輸入參數、向客戶端返回表格或標量結果和消息、調用數據定義語言 (DDL) 和數據操作語言 (DML) 語句,然後返回輸出參數。在 SQL Server 2005 中,存儲過程有兩種類型:Transact-SQL 或 CLR。

Transact-SQL
Transact-SQL 存儲過程是指保存的 Transact-SQL 語句集合,可以接受和返回用戶提供的參數。例如,存儲過程中可能包含根據客戶端應用程序提供的信息在一個或多個表中插入新行所需的語句。存儲過程也可能從資料庫向客戶端應用程序返回數據。

CLR
CLR 存儲過程是指對 Microsoft .NET Framework 公共語言運行時 (CLR) 方法的引用,可以接受和返回用戶提供的參數。它們在 .NET Framework 程序集中是作為類的公共靜態方法實現的。

⑽ sql支持的存儲過程類型

sql只是查詢語言。

支持的存儲過程類型要看你用什麼資料庫了。不同的資料庫語法都不一樣。更不用說類型了。

熱點內容
如何掃碼添加伺服器地址 發布:2024-11-15 19:31:48 瀏覽:278
sql語句復制資料庫 發布:2024-11-15 19:28:02 瀏覽:837
演算法的薪資 發布:2024-11-15 19:15:22 瀏覽:322
ubuntu可以重新編譯嗎 發布:2024-11-15 19:09:10 瀏覽:649
access資料庫表的創建 發布:2024-11-15 18:51:18 瀏覽:141
怎麼搭建信令伺服器 發布:2024-11-15 18:48:03 瀏覽:578
如何解鎖安卓手機鎖屏圖 發布:2024-11-15 18:47:48 瀏覽:966
c語言水仙花數編程 發布:2024-11-15 18:45:50 瀏覽:852
安卓快手伴侶懸浮怎麼設置 發布:2024-11-15 18:26:50 瀏覽:524
瀏覽器緩存好的視頻為什麼都刪了 發布:2024-11-15 18:23:06 瀏覽:161