例1 传入一个参数@username,判断用户是否存在
-------------------------------------------------------------------------------
CREATE PROC IsExistUser
(
@username varchar(20),
@IsExistTheUser varchar(25) OUTPUT--输出参数
)
as
SELECT @IsExistTheUser = count(username)
FROM users
WHERE username = @username
GO
例2 存储过程结合事务的一个例子:添加用户,涉及到两个表,一个用户资料表,一个密码表:
增加用户
-------------------------------------------------------------------------------
create procedure AddUser
(
@username varchar(20),--用户名
@passwords varchar(18),--密码
@email varchar(100),--邮箱
@qq varchar(11),--QQ号码
@imageid int--头像
)
as
-- 设置NOCOUNT为ON,使不再返回统计信息(存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。)
SET NOCOUNT ON
DECLARE @CurrentError int
-- 创建事务, 插入数据到2个表
BEGIN TRANSACTION
-- 创建用户信息
INSERT INTO users (username, email, qq, imageid)
VALUES (@username, @email, @qq, @imageid)
select @CurrentError = @@Error
IF @CurrentError != 0
BEGIN
GOTO ERROR_HANDLER
END
-- 创建用户密码
INSERT INTO Signon (username, [password])
VALUES (@username, @passwords)
select @CurrentError = @@Error
IF @CurrentError != 0
BEGIN
GOTO ERROR_HANDLER
END
-- 结束事务
COMMIT TRANSACTION
-- 恢复NOCOUNT设置为OFF
SET NOCOUNT OFF
-- 返回0表示成功,其他则为失败
RETURN 0
-- 错误处理
ERROR_HANDLER:
ROLLBACK TRANSACTION
SET NOCOUNT OFF
RETURN @CurrentError
GO
分享到:
相关推荐
原创sql存储过程函数范例,一是为了自己方便查找,今天到公司因为没有我保存的一些范例,一个简单的例子写了半个小时,如果有范例直接套几分钟肯定搞定,所以索性上传到CSDN上,何时何地都能找到我的范例了。...
下面将详细解释标题和描述中提到的"SQL SERVER存储过程范例",并结合提供的代码片段进行分析。 首先,我们看到一个名为`sp_CreateSubPlan`的存储过程,它接受一个名为`@CPlanID`的输入参数,类型为`INT`。这个参数...
内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、...存储过程和函数、使用游标、使用触发器、事务处理、安全性控制、SQL高级特性、数据库对象查询、数据库安全与维护和嵌入式SQL等...
以上就是对"ORACLE 存储过程入门范例"中的关键知识点的详细解释。通过学习和实践这些概念,可以深入理解Oracle存储过程的编写和使用,从而在数据库管理、数据处理和业务逻辑实现上更高效地工作。
5. 视图与存储过程:学习创建和使用视图,以简化复杂查询,并了解存储过程的概念,它是预编译的SQL语句集合,可提高性能并提供封装。 6.索引与性能优化:理解索引的作用和类型,包括唯一索引、非唯一索引、全文索引...
书中可能涉及MySQL的安装配置、数据类型、存储引擎选择、SQL语法、触发器、存储过程、视图、事务处理和权限管理等内容。此外,还会探讨如何优化查询性能,以提高Web服务的响应速度。 三、SQL Server 2000/2005应用 ...
《SQL Server范例开发大全培训 全部课程的源码》是一份全面涵盖SQL Server数据库开发的实践教程,其中包含了丰富的实例代码,旨在帮助开发者深入理解和掌握SQL Server的各种功能和应用。以下是对这个课程源码的详细...
在“SQL Server范例开发大全培训第13~21课”中,我们可以期待学习到一系列关于Microsoft SQL Server数据库管理系统的高级技术与实践应用。这些课程涵盖了从查询优化、存储过程编写、事务处理到安全管理和性能监控等...
在SQL Server 2000中,存储过程和触发器是两种非常重要的数据库编程和管理工具,它们在数据库系统的设计和实现中起着至关重要的作用。这篇教程将深入讲解这两个概念,帮助你理解和掌握如何在SQL Server 2000环境中...
存储过程是预编译的SQL语句集合,可以提高性能并减少网络流量,同时封装了复杂的操作逻辑。 7. **索引与优化**:索引是提升数据库查询速度的关键,通过创建索引可以显著提高数据检索效率。理解如何创建、管理和优化...
SQL Server是微软公司开发的关系型数据库管理系统,其语法结构与标准SQL略有差异,并且提供了许多高级特性,如T-SQL扩展、存储过程、触发器、视图等。而Oracle则是由甲骨文公司开发的企业级数据库系统,它支持更广泛...
《SQL范例完全自学手册》是一本旨在帮助初学者及进阶者掌握SQL语言的实用教程。这本书通过丰富的实例和详尽的解释,系统地介绍了SQL的基础知识、查询技巧以及高级应用。随书光盘中包含的源码是学习过程中不可或缺的...
6. **存储过程与触发器**:存储过程是预编译的SQL语句集合,提高执行效率;触发器则在特定数据库操作前后自动执行。 7. **事务处理**:`BEGIN TRANSACTION`、`COMMIT`和`ROLLBACK`用于控制事务,确保数据的一致性。...
存储过程是一种预编译的SQL脚本,可以包含复杂的逻辑流程控制,提高执行效率和代码复用性。在SQL Server中,可以使用存储过程实现各种功能,如数据处理、错误处理等。 #### 3. 触发器 触发器是在特定事件(如...
内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、...存储过程和函数、使用游标、使用触发器、事务处理、安全性控制、SQL高级特性、数据库对象查询、数据库安全与维护和嵌入式SQL等...
本文探讨了SQL数据库中存储过程和触发器的应用,主要研究了其在提升数据库系统性能、保证数据完整性和有效性方面的强大功能。...同时,存储过程和触发器在实际应用中的范例也为数据库管理系统的开发提供了宝贵的参考。
SCOTT用户和它的表是学习SQL的好工具,可以练习查询、更新、插入和删除操作,理解表间的关系,以及如何使用视图、存储过程等高级特性。 总结来说,"oracle 数据库 scott.sql 范例表"提供了一个学习和测试Oracle ...
《SQL应用开发范例宝典》随书光盘是一份极具价值的资源,它涵盖了数据库管理、SQL查询、存储过程以及函数等多个方面的内容,旨在帮助数据库开发者和管理员提升工作效率,解决实际工作中的各种问题。以下将对这些知识...
- 在SQL Server 2000中,考虑性能时,可能需要对数据类型的选择、索引的创建、存储过程的使用以及事务管理进行优化。 这些是SQL Server 2000中基础的数据库管理和编程概念,对于理解和操作SQL Server数据库至关...