T-SQL存储过程:分析权限存储与页面对应

本文介绍了一个使用SQL存储过程从数据库中获取特定格式数据的方法。该过程通过游标遍历功能列表,并解析每个功能项来填充临时表。最终返回功能名称、操作名及页面名称等信息。
CREATE PROCEDURE w_Function_GetParams
AS
DECLARE
    
@FunctionName_CN nvarchar(64),
    
@ActionName nvarchar(32),
    
@PageName nvarchar(128),
    
@Cache_FN nvarchar(256),
    
@LENFN int,
    
@Index_A int,
    
@index_B int
BEGIN
    
CREATE TABLE #Temp_TAB
    (
        ID 
int identity(1,1),
        FN 
nvarchar(64),
        AN 
nvarchar(32),
        PN 
nvarchar(128)
    )

    
DECLARE FN_CURSOR CURSOR FOR
    
SELECT FunctionName FROM Admin_FunctionList WHERE GroupID=0

    
OPEN FN_CURSOR;
    
FETCH NEXT FROM FN_CURSOR INTO @Cache_FN;

    
WHILE @@FETCH_STATUS=0
    
BEGIN
        
SET @LENFN=LEN(@Cache_FN);
        
SET @Index_A=CHARINDEX('|',@Cache_FN);
        
SET @Index_B=CHARINDEX(':',@Cache_FN);

        
SET @FunctionName_CN=SUBSTRING(@Cache_FN,0,@Index_A);
        
SET @ActionName=SUBSTRING(@Cache_FN,@Index_A+1,@Index_B-@Index_A-1);
        
SET @PageName=SUBSTRING(@Cache_FN,@Index_B+1,@LENFN-@Index_B);

--        print(@FunctionName_CN);
--
        Print(@ActionName);
--
        print(@PageName);

        
INSERT INTO #Temp_TAB VALUES(@FunctionName_CN,@ActionName,@PageName)
        
        
FETCH NEXT FROM FN_CURSOR INTO @Cache_FN;
    
END
    
    
CLOSE FN_CURSOR;
    
DEALLOCATE FN_CURSOR;

    
SELECT FN,AN,PN FROM #Temp_TAB GROUP BY PN,AN,FN

END

数据格式:

编辑产品信息|EDIT:W_PRODUCT_EDIT.ASPX

转载于:https://www.cnblogs.com/lixx/archive/2008/09/11/1289009.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值