sql标量函数与表值函数
CREATE function [dbo].[UserIDFromName](@UserName nvarchar(20),@UserPass nvarchar(64))
returns int
as
begin
return (select UserID from UserInfo where UserName=@UserName and UserPass=@UserPass) end;
调用:
create procedure [dbo].[GetUserRole]
@UserName nvarchar(20),
@PassWord nvarchar(64),
@FuncID int
AS
set nocount on declare @UserID int
set @UserID=Admin.dbo.UserIDFromName(@UserName,@PassWord) if @UserID is null
begin
select ret=1,msg='用户名或密码错误!'
return -1
end
if not exists (select UserID from UserInfo where UserID=@UserID and IsActive=1)
begin
select ret=1,msg='该用户尚未激活,请联系管理员!'
return -1
end declare @isAdmin bit
set @isAdmin=(select IsAdmin from UserInfo where UserName=@UserName)
if @isAdmin=1
begin
if @FuncID is not null
return 4
else begin
select ret=1,msg='权限不存在!'
return -1
end
end if @FuncID is not null
begin
declare @role int
set @role=(select role from UserRole where UserID=@UserID and FuncID=@FuncID)
if @role is null
set @role=0
return @role
end
else begin
select ret=1,msg='权限不存在!'
return -1
end
表值函数:
CREATE FUNCTION [dbo].[Get_BindMaxMemberOrder](@dwRcvUserID as INT)
RETURNS TABLE
AS
-- 绑定会员,(会员期限与切换时间)
return (SELECT MAX(MemberOrder) as MaxmemberOrder,MAX(MemberOverDate) as MaxmemberOverDate
FROM MemberInfo WHERE UserID=@dwRcvUserID)
调用:
-- 绑定会员,(会员期限与切换时间)
SELECT @MaxMemberOrder=MaxMemberOrder,@MemberOverDate=MaxMemberOverDate
FROM UserDB.dbo.Get_BindMaxMemberOrder(@dwRcvUserID)
sql标量函数与表值函数的更多相关文章
- PCB MS SQL 标量函数与表值函数(CLR) 实现文件与目录操作
一.C#写SQL SERVER(CLR)实现文件操作 标量函数: 文件移动 ,复制,检测文件存在,写入新文件文本,读取文本,创建目录,删除目录,检测目录是否存在 /// <summary> ...
- 转载——CLR标量函数、表值函数和聚合函数(UDA)
本节主要介绍使用CLR创建标量函数,表值函数和聚合函数. 所谓标量函数指的就是此函数只返回一个值.表值函数返回值是一个表.聚合函数是在select语句中使用的,用来聚合一个结果集,类似于Sum()或是 ...
- sqlserver自定义函数(标量值函数,表值函数)
用户自定义的函数有两类:表值函数.标量值函数. 表值函数:返回值是数据表的函数 调用方式 select b.* from tableA a accross apply Fun_BiaoZhiFun ...
- 关于T-SQL重编译那点事,内联函数和表值函数在编译生成执行计划的区别
本文出处:http://www.cnblogs.com/wy123/p/6266724.html 最近在学习 WITH RECOMPILE和OPTION(RECOMPILE)在重编译上的区别的时候,无 ...
- sql server 中的表值函数和标量值函数
顾名思义:表值函数返回的是表,而标量值函数可以返回基类型 一.表值函数 用户定义表值函数返回 table 数据类型.对于内联表值函数,没有函数主体:表是单个 SELECT 语句的结果集. 以下示例 ...
- java知识随笔整理-标量函数和表值函数
以sql server为例: 1.表值函数 用户定义表值函数返回 table 数据类型,表是单个 SELECT 语句的结果集. 示例代码CREATE FUNCTION Test_GetEmployee ...
- SQL Server中使用表值函数
函数有很多限制,不能使用动态语句,不能使用临时表等等...细看一下,直接写语句就行了,不用动态语句 insert into @re select id,parid,@I from videoclass ...
- SQL创建字段信息(表值函数)
ALTER FUNCTION [dbo].[fnt_SplitString] ( @p1 varchar(Max), ) ) RETURNS @Table_Var TABLE ( c1 varchar ...
- SQL 表值函数/标量函数
表值函数 定义表值函数 --定义表值函数 CREATE FUNCTION GetStuScore(@Stu_ID INT ) RETURNS TABLE AS RETURN (SELECT ),[St ...
随机推荐
- Java生成指定范围内的工具类
/** * 生成[min, max]之间的随机整数 * * @param min 最小整数 * @param max 最大整数 * @return * @author jqlin */ private ...
- urlrewriteFilter condition----reference
src:http://tuckey.org/urlrewrite/manual/2.6/ <condition> element An element that lets you choo ...
- input属性type为file打开文件资源管理器时,如何限制多次选取或只能一次选取的行为
1.input标签没有设置multiple属性,文件资源管理器默认一次选取 <!doctype html> <html lang="en"> <hea ...
- Golang 知识图谱
- Spring Framework’s WebDataBinder
Last week, I was just outside our nation’s capital teaching Spring Web MVC Framework to a wonderful ...
- orcle查询记录的每天的第一条
select * from ( select elec,time,Row_Number() OVER (partition by trunc(TIME) order by time) ran ...
- [转]RDL Report in Visual Studio New page per Record
本文转自:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/f58cd5cf-4296-40f0-b3c8-7e4e15d73762/r ...
- UA 用户代理
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本.浏览器渲染引擎.浏览器语言.浏览器插件等.被广泛用来标识 ...
- Css3不透明
Css3允许你使用opacity(不透明)属性设置元素的不透明度 实例: <img src="1.jpg" alt=“view”> img{ opacity:0.45: ...
- Java JDK 配置环境变量
使用了java也有了两年了,安装了很多次jdk都记不住安装步骤 = =,刚刚又配置了一次,码一下步骤: 1.右击"此电脑" ---> "属性" ----& ...