判断插入值是否重复:
CREATE PROCEDURE IR_rb_User_UpdateUser
(
@UserID int,
@Name nvarchar(50),
@Email nvarchar(100),
@Password nvarchar(20),
@RoleID int,
@iSuccess int output
)
AS
set @iSuccess = -1 --判断是否成功有错误应为插入重复键
IF EXISTS (SELECT Email FROM rb_Users WHERE Email = @Email and UserID<>@UserID)
BEGIN
set @iSuccess = -2
return
END
BEGIN TRAN
UPDATE rb_Users SET Name = @Name, Email = @Email,
Password = @Password WHERE UserID = @UserID
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
return
END
set @iSuccess = -3
update rb_UserRoles set RoleID=@RoleID where UserID=@UserID
IF @@ERROR <> 0
BEGIN
ROLLBACK TRAN
return
END
COMMIT TRAN
set @iSuccess = 1
GO
条件查询语句:
CREATE PROCEDURE IR_SysAuthorization_GetAllSysAuthorization
(
@Type int,
@UserID varchar(20)
)
AS
declare @strsql varchar(1500) --临时sql语句
declare @strwhere varchar(1000) --临时sql的条件语句
set @strsql = ''
set @strsql = @strsql + 'select UserID,Role,(select typename from SysAuthorizationType where type=t.type) as typeTmp, '
set @strsql = @strsql + '(CASE WHEN State = 1 THEN ' + '''有效''' + ' ELSE ' + '''无效''' + ' END) AS StateTmp '
set @strsql = @strsql + 'FROM SysAuthorization t '
set @strwhere = ''
IF @UserID <> ''
BEGIN
set @strwhere = @strwhere + ' and (UserID LIKE ' + '''' + '%' + @UserID + '%' + '''' + ')'
END
IF @Type >0
BEGIN
set @strwhere = @strwhere + ' and Type = ' + CAST(@Type AS varchar(12))
END
if @strwhere <>''
BEGIN
set @strsql = @strsql + ' where ' + right(@strwhere, len(@strwhere)-4)
END
--按用户名排序
set @strsql = @strsql + ' ORDER BY Type,UserID'
exec (@strsql)
GO
分享到:
相关推荐
其次,存储过程可以将复杂的业务逻辑和对数据库的操作封装起来,并与数据库提供的事务处理结合使用,提高数据的使用效率,减少程序的执行时间。在代码上看,SQL 语句和程序代码语句的分离,可以提高程序代码的可读性...
在数据库管理中,SQL存储过程是预编译的SQL语句集合,用于执行特定任务,如...提供的"存储过程编写经验和优化措施.doc"和"优化SQL语句和存储过程.pdf"文档应该包含更详细的信息,可以帮助读者深入理解并应用这些概念。
综上所述,SQL优化和存储过程的运用是提升系统性能的关键,涉及应用设计、查询优化、ODBC利用、存储过程的编写以及工具选择等多个方面。通过这些策略,可以显著改善数据库的响应速度,提高系统处理能力,从而满足...
SQL Server查询优化是一个涉及多方面因素的综合过程,需要结合具体的应用场景和技术特点来进行。通过对SQL Server查询优化基本原则的理解以及具体方法的应用,可以有效提高查询性能,从而提升整个系统的运行效率和...
10. SQL语句优化的技术手段:技术手段包括但不限于使用子查询优化、使用JOIN代替子查询、避免SELECT *、使用更有效的查询方法(如IN代替OR)、利用数据库提供的存储过程和函数减少网络往返次数等。 11. 经验与实践...
学习SQL存储过程是提升数据库管理和应用开发效率的关键步骤,它可以帮助我们更好地组织和优化数据操作。 在SQL存储过程中,有以下几个重要的知识点: 1. **定义与创建**:存储过程可以通过`CREATE PROCEDURE`语句...
在“SQL 2005 中触发器、事务,存储过程、视图_T-SQL语句”的课程中,你可能会学习到如何创建和管理这些对象,包括编写触发器的语法,理解事务管理的基本原则,如何定义和执行存储过程,以及如何创建和使用视图。...
以下是对“SQL Server存储过程编写和优化措施”这一主题的深入解析,旨在帮助数据库管理员及开发人员掌握有效的编写与优化策略。 ### 存储过程编写原则 #### 1. 明确依赖关系 - **TableView**:使用前需明确其依赖...
SQL存储过程是一种预先编译并存储在数据库服务器中的SQL语句集合,它可以被多次调用,用于执行特定的数据操作任务。存储过程在IT领域中扮演着重要角色,特别是在数据库管理和应用程序开发中。本章主要探讨了存储过程...
在这个项目中,我们将探讨如何使用三种不同的方法在控制台上实现这样的系统:ArrayList、SQL语句和存储过程。每种方法都有其特点和适用场景,理解它们有助于提升对数据管理和程序设计的理解。 1. **ArrayList实现**...
11. **优化T-SQL编写**:编写高效的SQL语句,减少不必要的JOIN操作,避免子查询和嵌套循环,合理使用临时表和存储过程,以及使用合适的数据类型,都是提高SQL性能的重要手段。 综上所述,SQL语句优化是一个涉及多...
SQL语句执行过程是一个涉及到客户端与服务器端交互、多个阶段的复杂过程,包含了对SQL语句的处理、解析、优化以及最终的执行。这个过程对于数据库管理员来说,需要对数据库内部结构有深入的了解,才能够完全掌握。 ...
在数据库管理领域,SQL优化是提升系统性能的关键环节,尤其是在处理大数据量时,优化SQL语句能够显著减少查询时间,改善用户体验,同时减轻服务器负担。 首先,SQL优化的基础在于理解SQL语句的工作原理。SQL是...
综上所述,“sql存储过程帮助文档”应该覆盖了这些基本概念和更深入的技巧,包括但不限于游标、异常处理、动态SQL、存储过程的优化等。学习并熟练掌握存储过程的使用,对于提升数据库管理和应用程序的效率至关重要。
在这个SQLServer.chm文件中,你可以期待找到关于SQL Server特定的语法、函数和存储过程的详细信息,可能包括T-SQL(Transact-SQL)的扩展功能,如游标、事务管理和触发器。T-SQL是SQL Server的扩展,提供了更强大的...
本文主要探讨了如何通过分析SQL语句的执行计划来优化查询性能,涉及到共享SQL语句、ROWID、Recursive SQL、Row Source、Driving Table和Probed Table等相关概念。 首先,SQL语句的共享是ORACLE数据库提高性能的一种...
存储过程是一组预编译的SQL语句,可以封装在一起并多次调用,提高代码复用性和安全性。触发器则在特定的数据库事件发生时自动执行,如INSERT、UPDATE或DELETE操作。 8. **事务管理** SQL支持事务,确保数据的一致...
### SQL存储过程教程知识点详述 #### 一、SQL存储过程概述 - **定义**: 存储过程(Stored Procedure)是一组预编译的SQL语句集合,它们被存储在数据库中,用户可以通过指定存储过程的名字及其参数来执行。 - **...
本资源“SQL语句大全”涵盖了多个关键概念,包括程序设计、视图、索引、游标、事务、触发器、锁、存储过程、XML以及权限管理。以下是对这些主题的详细阐述: 1. **程序设计**:T-SQL(Transact-SQL)是SQL Server中...