`
nannan408
  • 浏览: 1783994 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

sqlserver 子存储过程嵌套的解决方案

 
阅读更多
1.前言。
    sqlserver2005的存储过程,在完整的单独过程中嵌套用游标是没问题的,但是,如果主存储过程有游标,子存储过程再定义游标将不能正确执行。 怎么解决这个问题呢? oracle可以用select into 等loop循环取代游标,sqlserver也有类似功能,但sqlserver这个功能不完善,只能进行结果集的数量判断,不能有游标功能。不过这用在子存储过程的查询,已经足够了。这个方法,就是用这个方式去写:
  select @a=[column1] from table1
  if(@@rowcount>0)
  begin
  end;
其中@a你需要预先定义,columen1是你的表table1的字段名称
2.总结
  (1)注意select @a=[column1] from table1后面不要有分号,否则你的if永远进不去。rowcount只是瞬时的。
  (2)用sqlserver写存储过程特别憋屈,没办法,忍吧。谁叫比oracle便宜3-6倍呢。
0
0
分享到:
评论
1 楼 nannan408 2013-08-05  
  后来发现, select into也不是最优的方法,最好的方法是用sqlserver的动态执行语句的输如输出参数,如:
@SQL='select @a1=[column1] where @b1=2'
exec sp_executesql @SQL,N'@a1 int output,@b1 varchar(20)',@a1 output,@b1
为了显示研究的过程,上面的文章没有直接改,在回复中做说明。

相关推荐

    sql server 存储过程100例

    SQL Server存储过程是数据库开发和管理中的重要工具,它们是一组预先编译的T-SQL语句,可以执行复杂的数据库操作。在这个“SQL Server 存储过程100例”中,你将深入理解存储过程的多样性和实用性,超过100个示例将...

    Sql Server解析Json

    尽管 SQL Server 提供了这些强大的工具,但在某些情况下,可能还需要更高级的定制解决方案来满足特定的需求。例如,当需要处理复杂的嵌套 JSON 数据时,或者需要更灵活地控制解析过程时,自定义函数就会显得尤为重要...

    sql server 2005 技术内幕t-sql查询源码

    以及SQL Server中的事务管理,包括读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)隔离级别,同时可能涉及死锁问题及解决方案。 通过学习这本书...

    SQL server2012 教程

    - **子查询**:了解如何在查询中嵌套查询以实现复杂的数据筛选和计算。 - **事务管理**:理解事务的概念,学习如何使用BEGIN、COMMIT和ROLLBACK来确保数据一致性。 ### 5. 视图与存储过程 - **视图**:创建和使用...

    SQL Server 2005数据库简明教程

    SQL Server 2005是微软公司推出的一款关系型数据库管理系统,它在SQL Server 2000的基础上进行了多项改进和增强,旨在提供更高效、更安全的数据存储和管理解决方案。本教程将深入探讨SQL Server 2005的核心概念、...

    Inside Microsoft SQL Server 2005

    3. **Inside.Microsoft.SQL.Server.2005.T-SQL.Programming.chm**:这部分聚焦于使用T-SQL进行程序设计,涵盖了如何创建和管理数据库对象,如表、视图、存储过程和函数。可能涉及的话题有数据类型、变量、流程控制...

    sqlsever存储过程

    SQL Server存储过程是数据库...总结,SQL Server存储过程是数据库开发的重要工具,它们提供了模块化、高性能的解决方案,同时加强了安全性。理解和熟练掌握存储过程的使用,对于提升数据库管理效率和应用性能至关重要。

    sql server学习资料

    - **可扩展性和可用性**:适应大规模数据处理,提供高可用性解决方案。 - **企业级功能**:满足大型企业对数据安全性、性能和可靠性的要求。 - **友好操作界面**:提供了直观的图形化工具,简化数据库管理工作。 - *...

    游标嵌套 STATUS 异常 存储过程

    嵌套游标的STATUS属性互相影响的问题及解决方案 #### 问题说明 在嵌套游标中,外层游标的`FETCH`操作可能会影响到内层游标的状态。这是因为,当外层游标向前移动时,可能会影响内层游标的某些条件,导致其状态发生...

    深入浅出SQLServer学习资源

    2. 数据库镜像:探讨数据库镜像的配置和使用,为关键数据库提供高可用性解决方案。 3. 复制技术:学习SQL Server的复制功能,包括事务复制、合并复制和发布订阅,实现数据同步和分布。 以上只是SQL Server学习资源...

    关于SQL Server 2000 的外文翻译

    它们可以接受参数,返回结果集,甚至可以嵌套其他存储过程,为复杂的业务逻辑提供解决方案。 5. 触发器 触发器是一种特殊的存储过程,会在特定的DML操作(INSERT、UPDATE或DELETE)发生时自动执行,常用于实现业务...

    sqlserver学习从0开始

    5. **Notification Services**:允许开发者构建自定义的通知解决方案。 6. **Master Data Services**:用于管理主数据,确保数据的一致性和完整性。 ### SQL Server安装与配置 - **安装步骤**:下载安装包后按照...

    SQL SERVER JDBC 3.0

    - SQL Server JDBC驱动是Microsoft官方提供的,适用于Java平台的数据库连接解决方案。 - 版本3.0在性能、稳定性和兼容性方面有显著提升,支持SQL Server 2000至2008等版本。 2. **主要特性** - 支持JDBC 4.0规范...

    战胜SQL Server必做练习50题

    SQL Server是由微软公司开发的,它提供了全面的数据存储、分析和报告解决方案。掌握SQL Server意味着你需要熟悉T-SQL(Transact-SQL),这是SQL Server扩展的SQL方言,用于执行数据库操作、创建数据库对象、编写存储...

    Querying SQL server 70-461

    根据提供的文件内容,本篇知识点解析将围绕Microsoft SQL Server 2012中Querying(查询)相关的知识点展开,这是MCSA(微软认证解决方案专家)SQL Server认证考试70-461的培训套件内容。以下将详细说明标题和描述中...

    sqlserver优化笔记

    - **问题描述**:复杂的SQL语句(尤其是多层嵌套的子查询)可能导致性能下降。 - **解决方案**: - 将复杂操作分解为多个步骤,先创建临时表存储中间结果,再进行后续操作。 - 使用 `UNION ALL` 替代 `UNION`,...

    SQL Server的升级之路系列课程(3):从MSDE 2000升级到SQL Server 2005工作组版.rar

    7. **数据库镜像**:为高可用性提供了一种新的解决方案,通过镜像数据库确保数据的连续性和一致性。 8. **CLR集成**:允许使用.NET Framework的代码(C#、VB.NET等)编写存储过程和用户定义函数,扩展了数据库功能...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    4.3 通过存储过程配置SQL Server 4.3.1 使用SQL Server Management Studio查询 4.3.2 执行查询和改变设置 4.3.3 检查和设置配置参数 4.3.4 使用ALTER DATABASE改变设置 第Ⅱ部分 SQL Server 2008的系统管理 第5章 ...

    SQL SERVER T-SQL

    - **问题解决**:针对常见的T-SQL问题提供解决方案,增强应对实际工作中遇到挑战的能力。 #### 结论 通过本指南的学习,您将能够熟练掌握T-SQL的基本和高级功能,有效管理和操作SQL Server中的数据。无论是初学者...

Global site tag (gtag.js) - Google Analytics