sql用戶定義函數
⑴ sql中創建一個用戶自定義函數
CREATE
FUNCTION
DBO.tFProctsHS
(
@name
VARCHAR(10))
RETURNS
INT
--這個根據價格的類型自己修改
AS
begin
DECLARE
@jiage
INT;
select
@jiage=
jiage
from
商品表
where
name=
@name
RETURN
(@jiage)
end
--ceshi
select
DBO.tFProctsHS
('記事本')
⑵ sql中如何查看和修改用戶自定義函數的定義
創建一個用戶自定義函數Goodsorder,以貨品名稱為參數,返回該貨品的訂單記錄。
直接分別試語句和函數注意你修改過的函數
與
有數據的表
是否在一個資料庫
⑶ 如何:創建和運行 CLR SQL Server 用戶定義的函數
部署成功後,可調用並執行用戶定義的函數。注意
在默認情況下,Microsoft
SQL
Server
中關閉了
公共語言運行庫
(CLR)
集成功能。必須啟用該功能才能使用
SQL
Server
項目項。若要啟用
CLR
集成,請使用
sp_configure
存儲過程
的「啟用
clr」選項。有關更多信息,請參見啟用
CLR
集成。注意顯示的對話框和菜單命令可能會與幫助中的描述不同,具體取決於您現用的設置或版本。若要更改設置,請在「工具」菜單上選擇「導入和導出設置」。有關更多信息,請參見
Visual
Studio
設置。
創建用戶定義的
SQL
Server
函數
使用Visual
Studio
建立和部署此函數
C++
示例在編譯時必須使用
/clr:safe
編譯器
選項。
對於Visual
Basic
和
Visual
C#,在「解決方案
資源管理器
」中,打開「TestScripts」文件夾,然後雙擊「Test.sql」文件,以打開它進行編輯。添加執行您的
用戶定義函數
的代碼。請參見下面的第二個示例。對於Visual
C++,在「解決方案資源管理器」中雙擊「debug.sql」文件,以打開它進行編輯。添加執行您的用戶定義函數的代碼。請參見下面的第二個示例。將用戶定義函數部署到
SQL
Server。有關更多信息,請參見如何:將
SQL
Server
項目項部署到
SQL
Server
中。按F5
通過在
SQL
Server
上執行用戶定義的函數來對其進行調試。下面的代碼示例創建用戶定義的將價格作為參數的
標量函數
addTax,添加
銷售稅
並返回價格和銷售稅的加和。創建該函數後,將其部署到
SQL
Server。有關更多信息,請參見如何:將
SQL
Server
項目項部署到
SQL
Server
中Visual
Basic
復制代碼
Imports
System.Data.SqlTypes
Imports
Microsoft.
SqlServer
.ServerPartial
Public
Class
UserDefinedFunctions
Public
Const
SALES_TAX
As
Double
=
0.086
_
Public
Shared
Function
addTax(ByVal
originalAmount
As
SqlDouble)
As
SqlDouble
Dim
taxAmount
As
SqlDouble
=
originalAmount
*
SALES_TAX
Return
originalAmount
+
taxAmount
End
FunctionEnd
ClassC#
復制代碼
using
System.Data.SqlTypes;
using
Microsoft.SqlServer.Server;public
partial
class
UserDefinedFunctions{public
const
double
SALES_TAX
=
.086;
[SqlFunction()]
public
static
SqlDouble
addTax(SqlDouble
originalAmount){SqlDouble
taxAmount
=
originalAmount
*
SALES_TAX;
return
originalAmount
+
taxAmount;}}C++
復制代碼
#include
"stdafx.h"#using
#using
#using
using
namespace
System;
using
namespace
System::Data;
using
namespace
System::Data::Sql;
using
namespace
System::Data::SqlTypes;
using
namespace
Microsoft::SqlServer::Server;//
In
order
to
debug
your
Aggregate,
add
the
following
to
your
debug.sql
file:////
SELECT
dbo.addTax(10)
//public
ref
class
UserDefinedFunctions{public:static
initonly
double
SALES_TAX
=
0.086;
[SqlFunction()]
static
SqlDouble
AddTax(SqlDouble
originalAmount){SqlDouble
taxAmount
=
originalAmount
*
SALES_TAX;
return
originalAmount
+
taxAmount;}};向您的項目中
TestScripts
文件夾中的
Test.sql(在
Visual
C++
中為
debug.sql)文件,添加用於測試用戶定義函數的代碼。例如,若要測試此函數,請使用查詢,如「SELECT
dbo.addTax(10)」。您應見到返回的值「10.86」。
復制代碼
⑷ sql 用戶自定義函數
CREATE
FUNCTION F_BOM(@MD003 VARCHAR(20),@MD006 INT) --創建一個函數
returns
@t table(MD003 VARCHAR(20),MD006 INT) ---返回一個表,欄位是自己定義的
begin
insert into @t(MD003,MD006) select MD003,MD006*@MD006 FROM BOMMD WHERE MD001=@MD003 AND MD014='Y' -----開始函數,向自己定義的表中插入數據
while @@rowcount<>0 ----如果上個語句插入了,開始下面的
insert into @t(MD003,MD006)
select
A.MD003,A.MD006*B.MD006
from
BOMMD A,@t B
where
A.MD014='Y' AND
A.MD001=B.MD003 collate Chinese_PRC_CI_AI_WS
and
not exists(select 1 from @t where MD003=A.MD003 collate Chinese_PRC_CI_AI_WS)
----根據where條件再次插入數據
⑸ 如何在sql中定義一個函數,函數功能是傳入一個字元串,返回這個字元串中的數
1通過VisualStudio2008新建一個SQLServer項目。2,配置連接的資料庫點擊上一步確定後,可以通過添加新引用來添加一個資料庫連接(只適用MS SQL Server 2005或以上版本,再次提醒哦),添加以後選擇其中一個資料庫點擊確。3,添加一個自定義函數。然後編寫自定義函數的類即可。
用戶自定義函數是指如果要在公式或計算中使用特別復雜的計算,而工作表函數又無法滿足需要,則需要創建用戶自定義函數。
⑹ SQL_用戶定義函數
你需要返回一個TABLE
CREATEFUNCTIONSP_CALC
(@deptVARCHAR(50)---部門編號
)
RETURNS@tTABLE(salAvgfloat,salSumfloat)
AS
BEGIN
計算過程
INSERT@t(salAvg,salSum)VALUES(你計算的值)
RETURN
END
GO
⑺ SQL創建用戶自定義函數
樓主我只寫了其中一個..基本方法都如此,希望對您有幫助,代碼如下
ALTER FUNCTION [dbo].[sum]
(
@class varchar(100), --所選課程
@username varchar(20) --學生姓名
)
RETURNS int
AS
BEGIN
DECLARE @reun int
SELECT SUN(@class) FROM YOURTABLE WHERE USERNAME=@username
RETURN @reun
END
⑻ SQL中創建一個用戶自定義函數
CREATE FUNCTION DBO.tFProctsHS ( @name VARCHAR(10))
RETURNS INT --這個根據價格的類型自己修改
AS
begin
DECLARE @jiage INT;
select @jiage= jiage from 商品表 where name= @name
RETURN (@jiage)
end
--ceshi
select DBO.tFProctsHS ('記事本')
⑼ SQL創建用戶自定義函數
樓主我只寫了其中一個..基本方法都如此,希望對您有幫助,代碼如下
ALTER
FUNCTION
[dbo].[sum]
(
@class
varchar(100),
--所選課程
@username
varchar(20)
--學生姓名
)
RETURNS
int
AS
BEGIN
DECLARE
@reun
int
SELECT
SUN(@class)
FROM
YOURTABLE
WHERE
USERNAME=@username
RETURN
@reun
END
⑽ SQL有哪幾種用戶自定義函數,區別是什麼
用戶定義的函數有標量函數和表值函數兩種,其中表值函數又分為內聯表值函數和多語句表值函數。