国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

談談sqlserver自定義函數與存儲過程的區別

2020-07-25 12:55:17
字體:
來源:轉載
供稿:網友

一、自定義函數:

  1. 可以返回表變量
  2. 限制頗多,包括
    不能使用output參數;
    不能用臨時表;
    函數內部的操作不能影響到外部環境;
    不能通過select返回結果集;
    不能update,delete,數據庫表;
  3. 必須return 一個標量值或表變量
  自定義函數一般用在復用度高,功能簡單單一,爭對性強的地方。

二、存儲過程

  1. 不能返回表變量
  2. 限制少,可以執行對數據庫表的操作,可以返回數據集
  3. 可以return一個標量值,也可以省略return
   存儲過程一般用在實現復雜的功能,數據操縱方面。
 
=========================================================================
SqlServer存儲過程--實例
實例1:只返回單一記錄集的存儲過程。
  表銀行存款表(bankMoney)的內容如下
 
Id
userID
Sex
Money
001
Zhangsan

30
002
Wangwu

50
003
Zhangsan

40
 
要求1:查詢表bankMoney的內容的存儲過程

create procedure sp_query_bankMoneyasselect * from bankMoneygoexec sp_query_bankMoney

注* 在使用過程中只需要把T-Sql中的SQL語句替換為存儲過程名,就可以了很方便吧!
實例2(向存儲過程中傳遞參數):

加入一筆記錄到表bankMoney,并查詢此表中userID= Zhangsan的所有存款的總金額。

Create proc insert_bank @param1 char(10),@param2 varchar(20),@param3 varchar(20),@param4 int,@param5 int outputwith encryption ---------加密asinsert into bankMoney (id,userID,sex,Money)Values(@param1,@param2,@param3, @param4)select @param5=sum(Money) from bankMoney where userID='Zhangsan'go在SQL Server查詢分析器中執行該存儲過程的方法是:declare @total_price intexec insert_bank '004','Zhangsan','男',100,@total_price outputprint '總余額為'+convert(varchar,@total_price)go

在這里再

主站蜘蛛池模板: 江孜县| 清水河县| 无锡市| 锡林郭勒盟| 平顶山市| 雅安市| 抚松县| 雷州市| 台州市| 城步| 根河市| 贵溪市| 吴江市| 大荔县| 加查县| 徐闻县| 黔东| 南部县| 五河县| 阿克苏市| 临洮县| 云龙县| 桦甸市| 周至县| 抚顺县| 桐柏县| 民县| 通海县| 哈密市| 呼和浩特市| 徐闻县| 沅江市| 武夷山市| 郸城县| 延寿县| 柘城县| 河津市| 方山县| 漳州市| 肥东县| 页游|