sql帶參數的存儲過程
一、簡單的儲存過程:
1、創建一個存儲過程
create procere GetUsers()
begin
select * from user;
end;12345
2、調用存儲過程
call GetUsers();12
3、刪除存儲過程
drop procere if exists GetUsers;
二、帶參數的存儲過程
1、MySql 支持 IN (傳遞給存儲過程) , OUT (從存儲過程傳出) 和 INOUT (對存儲過程傳入和傳出) 類型的參數 , 存儲過程的代碼位於 BEGIN 和 END 語句內 , 它們是一系列 SQL 語句 , 用來檢索值 , 然後保存到相應的變數 (通過指定INTO關鍵字) ;
2、下面的存儲過程接受三個參數 , 分別用於獲取用戶表的最小 , 平均 , 最大分數 , 每個參數必須具有指定的類型 , 這里使用十進制值(decimal(8,2)) , 關鍵字 OUT 指出相應的參數用來從存儲過程傳出
create procere GetScores(
out minScore decimal(8,2),
out avgScore decimal(8,2),
out maxScore decimal(8,2)
)
begin
select min(score) into minScore from user;
select avg(score) into avgScore from user;
select max(score) into maxScore from user;
end;1234567891011
3、調用此存儲過程 , 必須指定3個變數名(所有 MySql 變數都必須以@開始) , 如下所示 :
call GetScores(@minScore, @avgScore, @maxScore);12
4、該調用並沒有任何輸出 , 只是把調用的結果賦給了調用時傳入的變數@minScore, @avgScore, @maxScore, 然後即可調用顯示該變數的值 :
select @minScore, @avgScore, @maxScore;
5、使用 IN 參數 , 輸入一個用戶 id , 返回該用戶的名字 :
create procere GetNameByID(
in userID int,
out userName varchar(200)
)
begin
select name from user
where id = userID
into userName;
end;12345678910
6、調用存儲過程 :
call GetNameByID(1, @userName);
select @userName;123
⑵ sql server 中 一個要輸入參數和輸出參數的存儲過程。
1、首先我們需要打開SQL Server Managment管理工具,新建一個表。
⑶ sql 存儲過程 怎麼傳入參數
執行帶參數的存儲過程的方法如下:
Exec sp_configure 'allow updates',1 --允許更新系統表。
exec dbo.User_ChangeObjectOwnerBatch 'OldOwner','dbo'
以上是兩個例子。
SQL Server中執行帶參數的存儲過程的方法是:
EXEC 存儲過程名字 '參數1','參數2',數值參數
EXEC 是一個關鍵字。
字元串參數使用單引號括起來,數值參數不需要使用單引號
⑷ SQL一個帶參數的存儲過程寫法
你的這個做法沒有意義,一般存儲過程主要是針對sql語句執行效率低和數據完整性等來說的,你用這種方法就單單為了查詢一個表中的TOP信息,這樣與存儲過程的有點恰恰相反,因為這個方法實現存儲過程中取出你所要的信息,同是也能用同樣的方法更簡便的從表中取出你要的信息
⑸ sql 怎麼執行帶輸出參數的存儲過程
1、
對象資源管理器
中選中你要執行的存儲過程
2、右擊選擇
對話框中的執行存儲過程...
3、在出現的對話框中填入你參數的值
點擊確定
⑹ sql資料庫中怎樣調用帶參數的存儲過程
在sql
server中
執行帶參數的存儲過程
exec+空格+存儲過程名+空格+參數
多個參數的話用逗號分隔
傳出參數要加output
例如:
exec
P_GetIntegratedFluxOneMoment
@StartTableName,@ColName,@StartTime,@StartValue
output
其中@StartTableName,@ColName,@StartTime,@StartValue都是前面已經定義好的變數
傳入參數也可以不用變數
直接寫值也行
程序中調用的話看你用什麼語言了
各個語言的調用方法不一樣
⑺ 動態sql中如何執行 帶參數的存儲過程
exec sp_executesql @sqlGetCount,N'@Counts int out ',@Counts out
實際上 就是通過這個sp_executesql來執行存儲過程時,會定義變數 @Counts ,然後執行你的語句把值放到@Counts 里,最後返回。
另外,本質上這個和exec語句是一樣的都是動態執行sql。
⑻ sql怎麼調用帶參存儲過程
應該是這樣的。
RunProcere這個方法,調用存儲過程,
storedProcName
存儲過程名
parameters
存儲過程參數列表
tableName
這個表名指的是,你的存儲過程對某一張表做了數據的保存或修改,然後通過這個參數來把這個表的數據查出來,fill方法的作用就是
select
「tableName」這個表,然後把結果集放入DataSet中並返回。
⑼ SQL Server 帶參數的存儲過程
SQL
Server-存儲過程(Procere),帶入參數和出參數
http://www.cnblogs.com/ylbtech/archive/2012/08/14/2638257.html
上面有教程,自己參考下使用。