函数(CREATE、ALTER、DROP)
- 标量型函数:返回一个确定类型的标量值
--创建标量型函数 CREATE FUNCTION dbo.GetWeekDay(@date DATETIME) --CREATE FUNCTION 所有者.函数名(@参数名 参数类型) RETURNS INT AS --RETURNS 返回类型 AS BEGIN --函数主题 RETURN DATEPART(WEEKDAY,@date) --RETURN 返回的对象 END; GO --使用函数 SELECT dbo.GetWeekDay(GETDATE()) --数据库名.所有者.函数名(传入参数)
- 内联表值型函数:以表的形式返回一个返回值,不能使用 BEGIN···END,起返回的表由SELECT语句从数据库中删选出来
CREATE FUNCTION dbo.Getoutlay() -- CREATE FUNCTION 所有者.函数名 RETURNS TABLE AS -- 返回表数据 RETURN(SELECT * FROM Table_1);--RETURN(返回表数据的SQL语句); GO SELECT * FROM dbo.Getoutlay();--调用
- 多声明表值类型函数:标量型和内联表型的结合体,返回值是一个表,且能使用BEGIN···END
CREATE FUNCTION dbo.Getoutlay1() -- CREATE FUNCTION 所有者.函数名 RETURNS @Table TABLE(Ty INT,Sy INT) -- RETURNS @返回变量名 TABLE(列名 列类型,列名 列类型,···) AS BEGIN INSERT INTO @Table SELECT * FROM Table_1;--向返回变量中添加数据,注意添加的数据要与返回变量的数据列、类型对起来 RETURN; END GO SELECT * FROM dbo.Getoutlay1();--调用