sqlserver中的自定义函数的方法小结
发布时间:2024-01-24 22:14:11
标签:sqlserver,自定义函数
“自定义函数”是我们平常的说法,而“用户定义的函数”是 SQL Server 中书面的说法。
SQL Server 2000 允许用户创建自定义函数,自定义函数可以有返回值。
自定义函数分为:标量值函数或表值函数
如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数。可以使用多条 Transact-SQL 语句定义标量值函数。
如果 RETURNS 子句指定 TABLE,则函数为表值函数。
表值函数又可分为:内嵌表值函数(行内函数)或多语句函数
如果 RETURNS 子句指定的 TABLE 不附带列的列表,则该函数为内嵌表值函数。
如果 RETURNS 子句指定的 TABLE 类型带有列及其数据类型,则该函数是多语句表值函数。
标量值函数示例
CREATE FUNCTION dbo.Foo()
RETURNS int
AS
BEGIN
declare @n int
select @n=3
return @n
END
内嵌表值函数示例
CREATE FUNCTION dbo.Foo()
RETURNS TABLE
AS
return select id, title from msgs
内嵌表值函数只有一个 select 语句。
多语句表值函数示例(部分)
CREATE FUNCTION fn_FindReports (@InEmpId nchar(5))
RETURNS @retFindReports TABLE (empid nchar(5) primary key,
empname nvarchar(50) NOT NULL,
mgrid nchar(5),
title nvarchar(30))
...
注意其 RETURNS 部分。
多语句函数的主体中允许使用以下语句。未在下面的列表中列出的语句不能用在函数主体中。
赋值语句。
控制流语句。
DECLARE 语句,该语句定义函数局部的数据变量和游标。
SELECT 语句,该语句包含带有表达式的选择列表,其中的表达式将值赋予函数的局部变量。
游标操作,该操作引用在函数中声明、打开、关闭和释放的局部游标。只允许使用以 INTO 子句向局部变量赋值的 FETCH 语句;不允许使用将数据返回到客户端的 FETCH 语句。
INSERT、UPDATE 和 DELETE 语句,这些语句修改函数的局部 table 变量。
EXECUTE 语句调用扩展存储过程。


猜你喜欢
- 什么是机器学习 (Machine Learning) 机器学习是研究计算机怎样模
- 本文实例为大家分享了mysql备份脚本,供大家参考,具体内容如下#!/bin/bash#全备方式,一般在从机上执行,适用于小中型mysql数
- 多进程共享变量和获得结果由于工程需求,要使用多线程来跑一个程序。但是因为听说python的多线程是假的,于是使用多进程,反正任务需要共享的参
- 一、前言在近半年的 Python 命令行旅程中,我们依次学习了 argparse 、 docopt 、 click 和 fire 库的特点和
- LangChain是什么 如何使用经过了chatGPT,大家都知道了prompt-based learning,也明白了promp
- 本文实例讲述了Python smallseg分词用法。分享给大家供大家参考。具体分析如下:#encoding=utf-8 #import p
- 我就废话不多说了,大家还是直接看代码吧~import numpy as np kernel = np.array([1, 1, 1, 2])
- 昨天同事问了我一个问题,有两个循环语句: for(i = n; i > 0; i--) { … } for(i = 0; i <
- Fedora5下配置MySQL (很有参考价值的 MySQL资料 包括如何在linux文件系统移动MySQL数据库的位置) 一、下载MySQ
- 在没给大家讲解实现代码之前,先给大家分享效果图:之前别人都是用jq写的,自己整理了一下开始使用<el-form-item label=
- 本文实例讲述了Python实现统计文本文件字数的方法。分享给大家供大家参考,具体如下:统计文本文件的字数,从当前目录下的file.txt取文
- 废话不多说了,上代码吧:import threadingimport requestsimport timeimport osclass M
- 首先,与其他语言不同,JS的效率很大程度是取决于JS engine的效率。除了引擎实现的优劣外,引擎自己也会为一些特殊的代码模式采取一些优化
- Pytorch:Conv2d卷积前后尺寸Conv2d参数尺寸变化卷积前的尺寸为(N,C,W,H) ,卷积后尺寸为(N,F,W_n,H_n)W
- 第一种方法: 分为 大 中 小 控制正文字体大小,一般需要指定 id<!DOCTYPE html PUBLIC "-//W3
- 作者:做梦的人(小姐姐)出处:https://www.cnblogs.com/chongyou/python读取yaml文件使用,有两种方式
- python 读写中文json的实例详解读写中文json想要 读写中文json ,可以使用python中的 json 库可以对j
- 引言自ChatGPT出现,各种基于它的软件扩展纷至沓来,目前Word支持ChatGPT的add-in有两款,可以通过:插入->获取加载
- 问题1:Component name “index” should always be multi-
- 前言:最近在做SOSO地图相关开发,遇到相关画圆知识,特此简单记录下来。1.在页面中添加SOSO地图API引用,引用脚本:<scrip