📄 存储过程.sql
字号:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SupesoftPage]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[SupesoftPage]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_ApplicationsInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_ApplicationsInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_EventInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_EventInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_FieldInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_FieldInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_FieldValueInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_FieldValueInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_GroupInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_GroupInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_ModuleInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_ModuleInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_OnlineInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_OnlineInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_RoleApplicationInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_RoleApplicationInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_RolePermissionInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_RolePermissionInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_RolesInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_RolesInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_SystemInfoInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_SystemInfoInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_UserInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_UserInsertUpdateDelete]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sys_UserRolesInsertUpdateDelete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sys_UserRolesInsertUpdateDelete]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
/*********************************************************************************
* Copyright (C) 2005 141421.com,All Rights Reserved *
* Function: SuperPaging *
* Description: *
* 超强通用分页存储过程 *
* Author: *
* 邱学军(Ryan) *
* lifergb@hotmail.com *
* http://www.141421.com *
* Finish DateTime: *
* 2005年9月24日 *
* History: *
* 2006/4/21 Edit By Michael Li *
* Example: *
* SuperPaging @TableName='表名',@Orderfld='排序列名' *
*********************************************************************************/
CREATE PROCEDURE SupesoftPage
(
@TableName nvarchar(50), -- 表名
@ReturnFields nvarchar(2000) = '*', -- 需要返回的列
@PageSize int = 10, -- 每页记录数
@PageIndex int = 1, -- 当前页码
@Where nvarchar(2000) = '', -- 查询条件
@Orderfld nvarchar(2000), -- 排序字段名 最好为唯一主键
@OrderType int = 1 -- 排序类型 1:降序 其它为升序
)
AS
DECLARE @TotalRecord int
DECLARE @TotalPage int
DECLARE @CurrentPageSize int
DECLARE @TotalRecordForPageIndex int
DECLARE @OrderBy nvarchar(255)
DECLARE @CutOrderBy nvarchar(255)
if @OrderType = 1
BEGIN
set @OrderBy = ' Order by ' + @Orderfld + ' desc '
set @CutOrderBy = ' Order by '+ @Orderfld + ' asc '
END
else
BEGIN
set @OrderBy = ' Order by ' + @Orderfld + ' asc '
set @CutOrderBy = ' Order by '+ @Orderfld + ' desc '
END
-- 记录总数
declare @countSql nvarchar(4000)
set @countSql='SELECT @TotalRecord=Count(*) From '+@TableName+' '+@Where
execute sp_executesql @countSql,N'@TotalRecord int out',@TotalRecord out
SET @TotalPage=(@TotalRecord-1)/@PageSize+1
SET @CurrentPageSize=@PageSize
IF(@TotalPage=@PageIndex)
BEGIN
SET @CurrentPageSize=@TotalRecord%@PageSize
IF(@CurrentPageSize=0)
SET @CurrentPageSize=@PageSize
END
-- 返回记录
set @TotalRecordForPageIndex=@PageIndex*@PageSize
exec('SELECT * FROM
(SELECT TOP '+@CurrentPageSize+' * FROM
(SELECT TOP '+@TotalRecordForPageIndex+' '+@ReturnFields+'
FROM '+@TableName+' '+@Where+' '+@OrderBy+') TB2
'+@CutOrderBy+') TB3
'+@OrderBy)
-- 返回总页数和总记录数
SELECT @TotalPage as PageCount,@TotalRecord as RecordCount
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- 创建更新删除
CREATE PROCEDURE sys_ApplicationsInsertUpdateDelete
(
@ApplicationID int = 0, -- 自动ID 1:为系统管理应用
@A_AppName nvarchar(50) = '', -- 应用名称
@A_AppDescription nvarchar(200) = '', -- 应用介绍
@A_AppUrl varchar(50) = '', -- 应用Url地址
@DB_Option_Action_ nvarchar(20) = '' -- 操作方法 Insert:增加 Update:修改 Delete:删除
)
AS
DECLARE @ReturnValue int -- 返回操作结果
SET @ReturnValue = -1
-- 新增
IF (@DB_Option_Action_='Insert')
BEGIN
INSERT INTO sys_Applications(
A_AppName,
A_AppDescription,
A_AppUrl
) VALUES (
@A_AppName,
@A_AppDescription,
@A_AppUrl
)
SET @ReturnValue = @@ROWCOUNT
END
-- 更新
IF (@DB_Option_Action_='Update')
BEGIN
UPDATE sys_Applications SET
A_AppName = @A_AppName,
A_AppDescription = @A_AppDescription,
A_AppUrl = @A_AppUrl
WHERE (ApplicationID = @ApplicationID)
SET @ReturnValue = @@ROWCOUNT
END
-- 删除
IF (@DB_Option_Action_='Delete')
BEGIN
DELETE sys_Applications WHERE (ApplicationID = @ApplicationID)
SET @ReturnValue = @@ROWCOUNT
END
SELECT @ReturnValue
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- 创建更新删除
CREATE PROCEDURE sys_EventInsertUpdateDelete
(
@EventID int = 0, -- 事件ID号
@E_U_LoginName nvarchar(20) = '', -- 用户名
@E_UserID int = 0, -- 操作时用户ID与sys_Users中UserID
@E_DateTime datetime = Null, -- 事件发生的日期及时间
@E_ApplicationID int = 0, -- 所属应用程序ID与sys_Applicatio
@E_A_AppName nvarchar(50) = '', -- 所属应用名称
@E_M_Name nvarchar(50) = '', -- PageCode模块名称与sys_Module相同
@E_M_PageCode varchar(6) = '', -- 发生事件时模块名称
@E_From nvarchar(500) = '', -- 来源
@E_Type tinyint = 0, -- 日记类型,1:操作日记2:安全日志3
@E_IP varchar(15) = '', -- 客户端IP地址
@E_Record nvarchar(500) = '', -- 详细描述
@DB_Option_Action_ nvarchar(20) = '' -- 操作方法 Insert:增加 Update:修改 Delete:删除
)
AS
DECLARE @ReturnValue int -- 返回操作结果
SET @ReturnValue = -1
-- 新增
IF (@DB_Option_Action_='Insert')
BEGIN
INSERT INTO sys_Event(
E_U_LoginName,
E_UserID,
E_DateTime,
E_ApplicationID,
E_A_AppName,
E_M_Name,
E_M_PageCode,
E_From,
E_Type,
E_IP,
E_Record
) VALUES (
@E_U_LoginName,
@E_UserID,
@E_DateTime,
@E_ApplicationID,
@E_A_AppName,
@E_M_Name,
@E_M_PageCode,
@E_From,
@E_Type,
@E_IP,
@E_Record
)
SET @ReturnValue = @@ROWCOUNT
END
-- 更新
IF (@DB_Option_Action_='Update')
BEGIN
UPDATE sys_Event SET
E_U_LoginName = @E_U_LoginName,
E_UserID = @E_UserID,
E_DateTime = @E_DateTime,
E_ApplicationID = @E_ApplicationID,
E_A_AppName = @E_A_AppName,
E_M_Name = @E_M_Name,
E_M_PageCode = @E_M_PageCode,
E_From = @E_From,
E_Type = @E_Type,
E_IP = @E_IP,
E_Record = @E_Record
WHERE (EventID = @EventID)
SET @ReturnValue = @@ROWCOUNT
END
-- 删除
IF (@DB_Option_Action_='Delete')
BEGIN
DELETE sys_Event WHERE (EventID = @EventID)
SET @ReturnValue = @@ROWCOUNT
END
SELECT @ReturnValue
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- 创建更新删除
CREATE PROCEDURE sys_FieldInsertUpdateDelete
(
@FieldID int = 0, -- 应用字段ID号
@F_Key varchar(50) = '', -- 应用字段关键字
@F_CName nvarchar(50) = '', -- 应用字段中文说明
@F_Remark nvarchar(200) = '', -- 描述说明
@DB_Option_Action_ nvarchar(20) = '' -- 操作方法 Insert:增加 Update:修改 Delete:删除
)
AS
DECLARE @ReturnValue int -- 返回操作结果
SET @ReturnValue = -1
-- 新增
IF (@DB_Option_Action_='Insert')
BEGIN
INSERT INTO sys_Field(
F_Key,
F_CName,
F_Remark
) VALUES (
@F_Key,
@F_CName,
@F_Remark
)
SET @ReturnValue = @@ROWCOUNT
END
-- 更新
IF (@DB_Option_Action_='Update')
BEGIN
UPDATE sys_Field SET
F_Key = @F_Key,
F_CName = @F_CName,
F_Remark = @F_Remark
WHERE (FieldID = @FieldID)
SET @ReturnValue = @@ROWCOUNT
END
-- 删除
IF (@DB_Option_Action_='Delete')
BEGIN
DELETE sys_Field WHERE (FieldID = @FieldID)
SET @ReturnValue = @@ROWCOUNT
END
SELECT @ReturnValue
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- 创建更新删除
CREATE PROCEDURE sys_FieldValueInsertUpdateDelete
(
@ValueID int = 0, -- 索引ID号
@V_F_Key varchar(50) = '', -- 与sys_Field表中F_Key字段关联
@V_Text nvarchar(100) = '', -- 中文说明
@V_ShowOrder int = 0, -- 同级显示顺序
@DB_Option_Action_ nvarchar(20) = '' -- 操作方法 Insert:增加 Update:修改 Delete:删除
)
AS
DECLARE @ReturnValue int -- 返回操作结果
SET @ReturnValue = -1
-- 新增
IF (@DB_Option_Action_='Insert')
BEGIN
INSERT INTO sys_FieldValue(
V_F_Key,
V_Text,
V_ShowOrder
) VALUES (
@V_F_Key,
@V_Text,
@V_ShowOrder
)
SET @ReturnValue = @@ROWCOUNT
END
-- 更新
IF (@DB_Option_Action_='Update')
BEGIN
UPDATE sys_FieldValue SET
V_F_Key = @V_F_Key,
V_Text = @V_Text,
V_ShowOrder = @V_ShowOrder
WHERE (ValueID = @ValueID)
SET @ReturnValue = @@ROWCOUNT
END
-- 删除
IF (@DB_Option_Action_='Delete')
BEGIN
DELETE sys_FieldValue WHERE (ValueID = @ValueID)
SET @ReturnValue = @@ROWCOUNT
END
SELECT @ReturnValue
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- 创建更新删除
CREATE PROCEDURE sys_GroupInsertUpdateDelete
(
@GroupID int = 0, -- 分类ID号
@G_CName nvarchar(50) = '', -- 分类中文说明
@G_ParentID int = 0, -- 上级分类ID0:为最高级
@G_ShowOrder int = 0, -- 显示顺序
@G_Level int = 0, -- 当前分类所在层数
@G_ChildCount int = 0, -- 当前分类子分类数
@G_Delete tinyint = 0, -- 是否删除1:是0:否
@DB_Option_Action_ nvarchar(20) = '' -- 操作方法 Insert:增加 Update:修改 Delete:删除
)
AS
DECLARE @ReturnValue int -- 返回操作结果
SET @ReturnValue = -1
-- 新增
IF (@DB_Option_Action_='Insert')
BEGIN
INSERT INTO sys_Group(
G_CName,
G_ParentID,
G_ShowOrder,
G_Level,
G_ChildCount,
G_Delete
) VALUES (
@G_CName,
@G_ParentID,
@G_ShowOrder,
@G_Level,
@G_ChildCount,
@G_Delete
)
SET @ReturnValue = @@ROWCOUNT
END
-- 更新
IF (@DB_Option_Action_='Update')
BEGIN
UPDATE sys_Group SET
G_CName = @G_CName,
G_ParentID = @G_ParentID,
G_ShowOrder = @G_ShowOrder,
G_Level = @G_Level,
G_ChildCount = @G_ChildCount,
G_Delete = @G_Delete
WHERE (GroupID = @GroupID)
SET @ReturnValue = @@ROWCOUNT
END
-- 删除
IF (@DB_Option_Action_='Delete')
BEGIN
DELETE sys_Group WHERE (GroupID = @GroupID)
SET @ReturnValue = @@ROWCOUNT
END
SELECT @ReturnValue
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
-- 创建更新删除
CREATE PROCEDURE sys_ModuleInsertUpdateDelete
(
@ModuleID int = 0, -- 功能模块ID号
@M_ApplicationID int = 0, -- 所属应用程序ID
@M_ParentID int = 0, -- 所属父级模块ID与ModuleID关联,0为顶级
@M_PageCode varchar(6) = '', -- 模块编码Parent为0,则为S00(xx),否则为S00M00(xx)
@M_CName nvarchar(50) = '', -- 模块/栏目名称当ParentID为0为模块名称
@M_Directory nvarchar(255) = '', -- 模块/栏目目录名
@M_OrderLevel varchar(4) = '', -- 当前所在排序级别支持双层99级菜单
@M_IsSystem tinyint = 0, -- 是否为系统模块1:是0:否如为系统则无法修改
@M_Close tinyint = 0, -- 是否关闭1:是0:否
@DB_Option_Action_ nvarchar(20) = '' -- 操作方法 Insert:增加 Update:修改 Delete:删除
)
AS
DECLARE @ReturnValue int -- 返回操作结果
SET @ReturnValue = -1
-- 新增
IF (@DB_Option_Action_='Insert')
BEGIN
INSERT INTO sys_Module(
M_ApplicationID,
M_ParentID,
M_PageCode,
M_CName,
M_Directory,
M_OrderLevel,
M_IsSystem,
M_Close
) VALUES (
@M_ApplicationID,
@M_ParentID,
@M_PageCode,
@M_CName,
@M_Directory,
@M_OrderLevel,
@M_IsSystem,
@M_Close
)
SET @ReturnValue = @@ROWCOUNT
END
-- 更新
IF (@DB_Option_Action_='Update')
BEGIN
UPDATE sys_Module SET
M_ApplicationID = @M_ApplicationID,
M_ParentID = @M_ParentID,
M_PageCode = @M_PageCode,
M_CName = @M_CName,
M_Directory = @M_Directory,
M_OrderLevel = @M_OrderLevel,
M_IsSystem = @M_IsSystem,
M_Close = @M_Close
WHERE (ModuleID = @ModuleID)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -