--查询权限函数
--1
declare @names varchar(3000)
set @names=''
select @names=@names+isnull(AdminPermissFormName,'')+' , ' from BookAdminPermissTypeList where AdminPermissTypeID in(8,9,10)
set @names=left(@names,len(@names)-1)
print @names
select @names --2
declare @sql nvarchar(4000),@where nvarchar(1000)
set @sql=''
set @where='8,9,10'
set @sql=@sql+'declare @names varchar(3000)'
set @sql=@sql+' set @names='''''
set @sql=@sql+' select @names =@names +isnull(AdminPermissFormName,'''')+'' , '' from BookAdminPermissTypeList where AdminPermissTypeID in('+@where+')'
set @sql=@sql+' set @names=left(@names,len(@names)-1)'
set @sql=@sql+' select @names'
print @sql
--exec (@sql)
exec sp_executesql @sql --不可以用
if exists(select 1 from sysobjects where name = 'f_GetAdminPermissFormFullName' and xtype = 'FN')
drop function f_GetAdminPermissFormFullName
go
CREATE function f_GetAdminPermissFormFullName
(
@AdminPermissTypeID nvarchar(1000)
)
returns nvarchar(1000)
as
begin
declare @sql nvarchar(4000),@re nvarchar(1000)
set @sql=''
--set @where='8,9,10'
set @sql=@sql+'declare @names varchar(3000)'
set @sql=@sql+' set @names='''''
set @sql=@sql+' select @names =@names +isnull(AdminPermissFormName,'''')+'' , '' from BookAdminPermissTypeList where AdminPermissTypeID in('+@AdminPermissTypeID+')'
set @sql=@sql+' set @names=left(@names,len(@names)-1)'
set @sql=@sql+' return @names'
return exec(@sql)
end
go

用存储过程:

CREATE PROCEDURE proc_Select_BookAdminPermissAssignment
(
@AdminPermissTypeID varchar(1000)
)
AS
declare @sql varchar(4000)
set @sql=''
set @sql=@sql+'declare @names varchar(3000)'
set @sql=@sql+' set @names='''''
set @sql=@sql+' select @names =@names +isnull(AdminPermissFormName,'''')+'' , '' from BookAdminPermissTypeList where AdminPermissTypeID in('+@AdminPermissTypeID+')'
set @sql=@sql+' set @names=left(@names,len(@names)-1)'
set @sql=@sql+' select @names'
exec (@sql)
GO

sql:function的更多相关文章

  1. [.NET] 使用C#开发SQL Function来提供服务 - 简讯发送

    [.NET] 使用C#开发SQL Function来提供服务 - 简讯发送 范例下载 范例程序代码:点此下载 问题情景 在「使用C#开发SQL Function来提供数据 - 天气预报」这篇文章中,介 ...

  2. [.NET] 使用C#开发SQL Function来提供数据 - 天气预报

    [.NET] 使用C#开发SQL Function来提供数据 - 天气预报 范例下载 范例程序代码:点此下载 问题情景 开发人员在设计一些数据汇整的系统服务时,可能会选择WCF.WebAPI.Sign ...

  3. SQL Function 自定义函数

    目录 产生背景(已经有了存储过程,为什么还要使用自定义函数) 发展历史 构成 使用方法 适用范围 注意事项 疑问   内容 产生背景(已经有了存储过程,为什么还要使用自定义函数) 与存储过程的区别(存 ...

  4. SQL Function(方法)

    1.为什么有存储过程(procedure)还需要(Function) fun可以再select语句中直接调用,存储过程是不行的. 一般来说,过程显示的业务更为复杂:函数比较有针对性. create f ...

  5. sql function递归

    alter function Fn_GetUserGroupRelation ( @DHsItemID int ) returns nvarchar(1024) begin declare @Col_ ...

  6. Oracle sql function LISTAGG

    select business_unit, voucher_id, listagg( vat_txn_type_cd, ',') within group (order by business_uni ...

  7. php-sql-parser sql防注入脚本

    <?php /** * SQL Parser from: http://code.google.com/p/php-sql-parser/ * License: New BSD */ class ...

  8. SQL Server 2012 T-SQL 新特性

    序列 Sequence SQL Server 现在将序列当成一个对象来实现,创建一个序列的例子语法如下: CREATE SEQUENCE DemoSequence START WITH 1 INCRE ...

  9. Adding New Functions to MySQL(User-Defined Function Interface UDF、Native Function)

    catalog . How to Add New Functions to MySQL . Features of the User-Defined Function Interface . User ...

随机推荐

  1. JeeSite功能模块解读,功能介绍,功能实现

    做为十分优秀的开源框架,JeeSite拥有着很多实用性的东西. 首先说下他的一个流程 Jeesite流程 流程 主要是jsp,entity,dao,dao.xml,service,controller ...

  2. laravel5.8的使用

    首先,确定电脑已经安装了composer.最好是全局安装 然后打开phpstorm的控制台: composer create-project --prefer-dist laravel/laravel ...

  3. Ntp客户端

    function parseMsg (buffer) { if (buffer.length !== 48) return; const pkt = {}, now = new Date().getT ...

  4. C运算符和表达式

    C语言入门(5)——运算符与表达式   版权声明:本文为博主尹成联系QQ77025077,微信18510341407原创文章,欢迎转载侵权不究. https://blog.csdn.net/yinch ...

  5. Quartz .net 一直运行失败

    使用了新的: Quartz.NET 2.6.2 https://github.com/quartznet/quartznet/releases IScheduler scheduler = StdSc ...

  6. 基于 IEEE 754 标准的 单精度浮点数计算方式 (未完成)

    def dec2bin(dec): if dec < 0: s = ' dec = dec * (-1) else: s = ' e = 127 dec = float(dec) r = int ...

  7. linux下普通用户添加 sudo 免密码

    在使用普通用户登录的时候,会经常使用sudo指令执行一些操作,有时候感觉输入密码比较繁琐,特别是需要设置一些开机启动的时候操作,而这些操作往往就需要sudo指令,如果没有免密的话,在使用普通用户登录的 ...

  8. IO概念解析------同步异步阻塞非阻塞

    各个IO Model的比较如图所示: 阻塞和非阻塞强调的是程序在等待调用结果(消息,返回值)时的状态.  阻塞调用是指调用结果返回之前,当前线程会被挂起.调用线程只有在得到结果之后才会返回.非阻塞调用 ...

  9. SpringBoot + Spring MVC国际化使用示例

    项目中需要显示中英文两种语言,所以需要对显示的内容进行国际化,如下是一个示例程序. 程序文件结构,如下图,后面详细列出各文件的代码. 1. 编写maven的pom.xml文件,如下: <proj ...

  10. ActivityManager的代理模式

    从官方文档的介绍可以看到ActivityManager的作用: 是与系统所有正在运行着的Acitivity进行交互,对系统所有运行中的Activity相关信息(Task,Memory,Service, ...