SqlServer存储过程
新上线的车管系统,今天要给User添加权限,才发现这个后台加权限简直how to play ..
比如有人申请合肥的关务权限:
1.SITE 是合肥
2.ORG 有B81,P81,S81,M81等
3.关务权限包括5个functionId
所以,总共要有20条记录
问题是,后台操作界面 简直掉渣天,加一条权限,操作起码要有2~3分钟!!
只好想办法自己解决:
创建了一张配置表
写了一个存储过程
USE [In_Out_Control]
GO /****** Object: StoredProcedure [dbo].[sp_AddAuthority] Script Date: 11/04/2013 20:09:11 ******/
SET ANSI_NULLS ON
GO SET QUOTED_IDENTIFIER ON
GO -- =============================================
-- Author: donghao.li
-- Create date: 2013-11-04
-- Description: Authority
-- =============================================
CREATE PROCEDURE [dbo].[sp_AddAuthority]
-- Add the parameters for the stored procedure here
@empNo varchar(10),
@site varchar(10),
@authorityName varchar(50)
AS
BEGIN
SET NOCOUNT ON;
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
declare @org varchar(20),@functionId varchar(50),@empName varchar(30)
select @empName=emp_name from emp_data_all where emp_no=@empNo
if (@empName !='')
BEGIN
declare my_cursor cursor for
select org,functionId from C_IOC_USER_ABILITYCONTROL_TEMP where site=@site and authorityName=@authorityName order by org
open my_cursor
fetch my_cursor into @org,@functionId
while (@@fetch_status=0)
BEGIN
declare @isExist int
select @isExist=count(*) from c_ioc_usersite where org=@org and function_id=@functionId and emp_no=@empNo
-- Insert statements for procedure here
if (@isExist<=0)
BEGIN
insert into c_ioc_usersite(belong_company,emp_no,emp_name,company,site,org,active,function_id,create_date,create_by) values('BriView',@empNo,@empName,'briview',@site,@org,'Y',@functionId,getdate(),'C1226724')
END
fetch next from my_cursor into @org,@functionId
END
close my_cursor
deallocate my_cursor
END
end
GO
然后执行存储过程
USE [In_Out_Control]
GO DECLARE @return_value int EXEC @return_value = [dbo].[sp_AddAuthority]
@empNo = N'C1226724',
@site = N'BVHF',
@authorityName = N'库房' SELECT 'Return Value' = @return_value GO
好吧,这样方便快速了很多~
SqlServer存储过程的更多相关文章
- 解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译)
解剖SQLSERVER 第十五篇 SQLSERVER存储过程的源文本存放在哪里?(译) http://improve.dk/where-does-sql-server-store-the-sourc ...
- Sqlserver 存储过程中结合事务的代码
Sqlserver 存储过程中结合事务的代码 --方式一 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ ...
- SqlServer存储过程学习笔记(增删改查)
* IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值. CREATE PROCEDURE [dbo].[PR_NewsAffiche_AddNewsEntity] ( ...
- SQLServer 存储过程嵌套事务处理
原文:SQLServer 存储过程嵌套事务处理 某个存储过程可能被单独调用,也可能由其他存储过程嵌套调用,则可能会发生嵌套事务的情形. 下面是一种解决存储过程嵌套调用的通用代码,在不能确定存储过程是否 ...
- 创建并在项目中调用SQLSERVER存储过程的简单示例
使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用.创建存储过程 和数据表一样,在使用之前需要创建存储过程,它的简明语法是: 引用: Create PROC ...
- SQLSERVER存储过程语法详解
CREATE PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ...
- SqlServer存储过程详解
SqlServer存储过程详解 1.创建存储过程的基本语法模板: if (exists (select * from sys.objects where name = 'pro_name')) dro ...
- sqlServer存储过程与sql语句的区别
sqlServer 存储过程与sql语句的区别 sql存储过程与sql语句的区别: 从以下几个方面考虑: 1.编写: 存储过程:编写比较难: sql语句:相对简单: 2.性能: 存储过程:高,可移 ...
- SqlServer存储过程(增删改查)
* IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值. CREATE PROCEDURE [dbo].[PR_NewsAffiche_AddNewsEntity] ( ...
- SQLSERVER存储过程的基本语法实例
SQLSERVER存储过程的基本语法实例 SQLSERVER存储过程的基本语法实例 一.定义变量--简单赋值 declare @a intset @a=5 print @a --使用select语句赋 ...
随机推荐
- 性能测试工具Gatling - 设置Recorder
Gatling自带的Recorder,可以大大节省我们书写scenario的时间. 用法和selenium的IDE类似,作为一个代理服务器在browser和application之间做桥梁作用 ...
- DEDE5.7如何制作网站地图?
DEDE用的人很多,可能大家在使用的过程中会碰到一些问 题,这很正常的,今天我们来讲讲DEDE5.7如何制作网站地图,其实网站地图分两种,一种做给网友看的,方便网友可以方便地找到自己想浏览的内容,另外 ...
- Realtek 8168 安装 VMware ESXi 提示没有驱动
设备描述 Realtek RTL8168/8111 PCI-E Gigabit Ethernet Adapter 第一次安装提示: vmware esxi 5.5 install no netwo ...
- Maven依赖范围及依赖传递
一: 依赖范围scope 共5种,compile (编译).test (测试).runtime (运行时).provided.system 不指定,则依赖范围默认为compile. compile:编 ...
- struts2+hibernate+poi导出Excel实例
本实例通过struts2+hibernate+poi实现导出数据导入到Excel的功能 用到的jar包: poi 下载地址:http://poi.apache.org/ 根据查询条件的选择显示相应数据 ...
- Junit3
package code; public class MyCode { public int m1(){ System.out.println("数字型"); return 1; ...
- SMTP邮件发送命令
第一步,远程登录smtp服务器 在命令行窗口输入 telnet smtp.163.com 25 然后回车第二步,用户登录 输入 helo 163.com 回车,这是向服务器表明你的用户身份250 OK ...
- "开发路上踩过的坑要一个个填起来————持续更新······(7月30日)"
欢迎转载,请注明出处! https://gii16.github.io/learnmore/2016/07/29/problem.html 踩过的坑及解决方案记录在此篇博文中! 个人理解,如有偏颇,欢 ...
- 网易音乐API
本次分析的是网易音乐API 歌曲搜索API:http://music.163.com/api/search/get/web?csrf_token= 需要用POST来获取 参数: Referer=htt ...
- Flex4 自定义分页组件
自己写的Flex4分页组件,去伪存真,只实现基本的分页功能,数据过滤神马的都不应该是分页组件干的活,有呆毛才有真相: [源代码下载] Flex自从转手给Apache后人气急跌,本人也很捉鸡,尽管Apa ...