ERP通用存储过程封装(三)
CREATE PROCEDURE Department_Add-- Add the parameters for the stored procedure here@DepartmentName nvarchar(50),@Tel1 nvarchar(20),@Tel2 nvarchar(20),@Displayorder int AS
BEGININSERT INTO Department(DepartmentName,Tel1,Tel2,Displayorder)VALUES(@DepartmentName,@Tel1,@Tel2,@Displayorder)
END
GO
右键:执行
-- =============================================
-- Author: 孙丽媛
-- Create date: 2016-9-27
-- Description: 通用的存储过程
-- =============================================
CREATE PROCEDURE UpdateTableByCondition@tableName nvarchar(100), --修改的表@columns nvarchar(300), --修改的列--@values nvarchar(600), --修改的值@conditions nvarchar(500)=‘1=1’ --修改的条件AS
BEGINdeclare @sql nvarchar(2000) --定义sql语句--对变量赋值1.select 在查询中赋值--2.set 直接赋值SET @sql='UPDATE '+@tableName+' set '+@columns+' where '+@conditionsprint @sqlEND
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: 通用的删除存储过程
-- =============================================
CREATE PROCEDURE DeleteTableByCondition @tableName nvarchar(100), -- 删除的表@condition nvarchar(500)='' --删除的条件AS
BEGINdeclare @Sql nvarchar(1000)SET @Sql = 'Delete from '+@tableName+' '+@condition--print @SqlEXEC(@Sql)
END
GO
通用添加的存储过程:
Create proc CommonInsertProc
(
@tbName nvarchar(255),--表名
@fldName nvarchar(1000),--列名
@fldValue nvarchar(2000) --值
)
As
Set nocount on
/*定义变量*/
Declare @strSQL varchar(4000)
Set @strSQL='Insert into ['+@tbName+'] ('+@fldName +') values('+@fldValue +')'
Exec(@strSQL)
Go
通用查询的存储过程:
1.实现查询指定表返回所有信息
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: 根据指定表返回所有数据
-- =============================================
CREATE PROCEDURE GetDataByTableName
@tableName nvarchar(2000)
AS
BEGINSET NOCOUNT ON;DECLARE @Sql nvarchar(2000)SET @Sql='select * from '+@tableNameEXEC(@Sql)
END
GO
2.实现查询指定表指定列返回信息
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: 查询指定的表,指定列的信息
-- =============================================
CREATE PROCEDURE getDataByTableNameValue@tableName nvarchar(500),@columns nvarchar(2000)
AS
BEGINSET NOCOUNT ON;DECLARE @Sql nvarchar(4000)SET @Sql='select '+@columns+' from '+@tableNameEXEC(@Sql)
End
GO
3.实现查询指定表按照不同的条件查询返回信息
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: 根据指定列,指定条件,指定表查询数据
-- =============================================
CREATE PROCEDURE GetDataByCondition@tableName nvarchar(200),@columns nvarchar(500),@condition nvarchar(500)=' 1=1'AS
BEGIN-- SET NOCOUNT ON added to prevent extra result sets from-- interfering with SELECT statements.SET NOCOUNT ON;DECLARE @sqlStr nvarchar(2000)SET @sqlStr='select '+@columns+' from '+@tableName+' where '+@conditionEXEC(@sqlStr)
END
GO
分页的通用存储过程:
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: 分页数据查询
-- =============================================
CREATE PROCEDURE getDataByPageIndex@table nvarchar(200), --查询表@coumlns nvarchar(1000), --查询列@pk nvarchar(50), --主建列@condition nvarchar(500)=' and 1=1 ', --查询条件@pageIndex int=0, --列的索引@pageSize int=10 --列的页数AS
BEGIN-- SET NOCOUNT ON added to prevent extra result sets from-- interfering with SELECT statements.SET NOCOUNT ON;DECLARE @sql nvarchar(4000)SET @sql='select top '+CAST(@pageSize AS nvarchar(10))+' '+@coumlns +' from '+@table+' where '+@pk +' not in (select top '+CAST((@pageSize*@pageIndex) AS nvarchar(10))+' '+ @pk+ ' FROM '+@table+ ' where 1=1 '+@condition+')'+@condition
END
GO
转载于:https://www.cnblogs.com/sunliyuan/p/5914376.html
ERP通用存储过程封装(三)相关推荐
- 一劳永逸,iOS 网页视图控制器通用类封装
原文链接:http://www.jianshu.com/p/553424763585 随着 H5 的发展,在 iOS 开发中,网页视图的使用率逐渐提升,为了增加代码封装度.减轻开发负担,因此通常会对网 ...
- 适合千万数据查询分页操作的一个通用存储过程
适合千万数据查询分页操作的一个通用存储过程 一.引言 最近上班比较忙,所以就很少写东西了,MongoDB系列的文章也要拖后了,没办法,工作第一,没工作就没饭吃了.今天正好 ...
- 通用路由封装协议--GRE的简单配置
基于华为设备简单配置GRE GRE--通用路由封装协议 一.GRE是什么? 二.GRE有什么用? 1.多协议本地网可以通过GRE隧道传输 2.与IPSec结合,保护组播数据 三.GRE怎么用? 1.隧 ...
- MySQL:尽量不要用存储过程封装业务逻辑
本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用.而是关于:"业务逻辑是不是要封装在存储过程中实现,这样子php.java等就是调用存储过程". ...
- 减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同
转:减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同 本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用.而是关于:"业务逻辑是不是要封装在存 ...
- [百万级]通用存储过程.分页存储过程
/* 名称:spAll_ReturnRows 输入: 输出: 调用: EXEC spAll_ReturnRows 'SELECT * FROM 表名', 页号, 返回记录数, '主键', ...
- mysql通用分页_MySQL海量数据的通用存储过程分页代码
本节主要内容: MySQL海量数据的通用存储过程分页代码 本节为大家分享一例mysql 通用存储过程分页.海量数据分页的代码. 1,测试用的表结构: 复制代码 代码示例: CREATE TABLE I ...
- 漫谈ERP实施服务的三种境界
一个ERP项目的成功并不代表一个行业的成功,一个ERP项目的失败并不意味着一个产品的失败.虽然不同的ERP实施模式在实施内容.实施流程.实施方法上大同小异,但不同的ERP实施境界所产生的效率.效果.效 ...
- Oracle大数据量分页通用存储过程
type refCursorType is REF CURSOR; --游标类型定义,用于返回数据集 /*********************************************** ...
最新文章
- Reveal 的初步用法
- 怎样才算精通Python?
- html文件嵌入到reportlab,Reportlab学习笔记
- 怎么利用Excel统计各分数段的人数?(亲测sum函数可用)
- 设计模式之-观察者模式(Observer Design Pattern)
- 数学--数论-多重集排列组合与母函数
- android 各版本市占率,Android各版本市占率:果冻豆遥遥领先
- qq浏览器如何进入私密 qq浏览器怎样进入私密
- 【深度增强学习 初步学习总结】
- 网络面试100道(路由交换)
- linux syn 队列,TCP SYN队列与Accept队列详解
- 台式计算机显卡驱动位置,台式电脑独立显卡怎么安装驱动的
- 信用修复的社会意义及基本概念、要素?
- 阿里EasyExcel对Excel复杂模版填充实现并设置单元格格式
- 工作11年后一切归零
- iphone投影到电脑屏幕,QuickTime出现报错和黑屏的解决方案
- 将阿拉伯数字转换成罗马数字 Integer to Roman
- PPT怎么调计算机,PPT演示者模式怎么设置
- 如何查杀stopped进程
- Vue3 中还处在实验性阶段 Suspense 是个啥?