0 0

存储过程如果根据条件拼接不同的SQL0

我要根据外面传如的一个参数来判断这个条件是否要加,
比如我有个类似条件语句exist (select 1 from A a where a.item = b.item) 但是这个语句要不要加需要根据外面传入的参数,当我传入1的时候就加传入0就不加 当然我的过程中不是这一个语句,我有很多,这只是一个例子。不知道有没有什么好的办法?因为我不可能根据每个参数去做if else 这样的判断
2014年6月03日 20:01

3个答案 按时间排序 按投票排序

0 0

case when "条件1"
   then...
     when '条件2“
   then...

end case;

2014年6月27日 12:34
0 0

本来就是要根据参数做判断,不是if else 就是CASE when

2014年6月04日 14:12
0 0

有没有实际的需求?
个人觉得不应该出现很多传入参数来进行这种判断吧。
如果一定要这样的判断似乎只有动态拼接sql之后再执行了。

但是我觉得从业务上不应该出现这种情况才对。

2014年6月03日 23:32

相关推荐

    sql\(很长的l模糊查询拼接)sql存储过程

    本文将深入探讨一种特殊的SQL存储过程——基于条件动态构建的模糊查询语句,该方法允许用户根据传入参数的不同组合来构建灵活多变的查询逻辑。 #### 标题解读:“SQL(很长的L模糊查询拼接)SQL存储过程” 标题中...

    SqlServer存储过程实现及拼接sql的注意点

    当需要动态地根据变量`tableName`更新不同表的字段状态时,我们需要使用存储过程来实现。在存储过程中,我们可以声明变量来存储这些值。例如: ```sql declare @tableName nvarchar(50), @field1 int, @field2 ...

    sql拼接:不要拼接Sql,而要使用参数的好处

    ### SQL拼接与参数化查询的重要性 在软件开发过程中,特别是涉及到数据库操作的应用程序中,SQL语句的构造和执行是非常关键的一步。传统的做法往往采用字符串拼接的方式来构建SQL语句,例如: ```csharp string ...

    动态拼接sql语句.rar

    动态拼接SQL语句在IT行业中是一个常见的编程实践,尤其在数据库操作中,它允许根据程序运行时的条件或变量来构建SQL查询。这一技术在处理复杂查询逻辑、灵活的数据筛选以及减少代码冗余等方面具有显著的优势。然而,...

    sql多条件存储过程

    ### SQL多条件存储过程知识点详解 #### 一、存储过程简介 存储过程是SQL语言的一种封装,可以在数据库服务器上预编译并存储一系列SQL语句,以便在客户端调用时直接执行,从而提高应用程序的性能。存储过程可以接受...

    自动拼接sql

    例如,如果你需要基于不同的筛选条件生成不同的查询,或者你需要动态调用不同的存储过程,`EXEC`就非常有用。 该工具特别指出,它能够自动添加引号和加号。这在SQL拼接中是非常关键的,因为SQL中的字符串通常需要被...

    SQLServer 2000存储过程手册

    10. **动态SQL**:在存储过程中,可以使用字符串拼接生成动态SQL语句,然后通过sp_executesql执行,这种方法在处理灵活的查询需求时非常有用,但要注意防止SQL注入攻击。 11. **存储过程的版本控制**:对于大型项目...

    通用添加修改,查询的存储过程, 包含 循环的使用,字符的拼接,

    通用添加修改,查询的存储过程, 包含 循环的使用,字符的拼接,

    sqlserver的存储过程与 where in 多值参数

    然而,如果只是偶尔处理小规模的数据,拼接SQL字符串的方法可能更简洁。务必注意SQL注入的安全问题,尤其是使用字符串拼接时。在实际应用中,确保对输入进行适当的验证和清理,或者使用存储过程和表变量来防止此类...

    在Sql Server 数据库中利用存储过程实现动态交叉表

    在存储过程中,可以通过编写脚本来拼接字符串,形成SQL查询语句,并执行它。动态SQL能够根据条件来改变查询语句的结构,这在处理不固定的列和行时非常有用。 2. **临时表的使用**:在构建动态交叉表时,经常需要...

    存储过程写九九乘法表

    存储过程支持各种复杂的编程结构,包括条件语句(如IF...ELSE)、循环语句(如WHILE...END)等,这些特性使得存储过程能够处理复杂的业务逻辑。 #### 示例解析 下面是对给定的存储过程代码进行详细解释: ```sql -...

    sql分页 sqlserver中存储过程分页

    - **动态SQL构造**:此存储过程通过动态拼接 SQL 字符串的方式来实现复杂的分页逻辑,这使得其具有较高的灵活性。 - **TOP 关键字的使用**:利用 SQL Server 的 TOP 关键字来限制返回的记录数量。 - **子查询与嵌套...

    CPQuery 解决拼接SQL的新方法

    对于动态查询,比如一个根据用户输入过滤条件的查询界面,传统的做法是根据条件动态构建SQL语句,但这种方式存在安全隐患。使用CPQuery,开发者可以在构建SQL字符串时使用参数占位符,将实际值通过命令对象的参数...

    sql列转行以及行转列的通用存储过程

    根据提供的标题、描述、标签及部分内容,本文将详细介绍SQL中实现列转行及行转列通用存储过程的具体方法,特别是针对Microsoft SQL Server版本的应用场景。 ### 标题解析:SQL列转行及行转列的通用存储过程 该标题...

    速度最快sql分页存储过程

    - **安全性问题**:该存储过程通过直接拼接字符串的方式构建SQL语句,存在SQL注入的风险,应谨慎使用。 - **兼容性问题**:此存储过程依赖于SQL Server特有的`TOP`关键字和字符串拼接方式,可能不适用于其他数据库...

    SQL存储过程——加路径

    ### SQL存储过程——加路径 #### 背景与需求 在数据库管理中,经常会遇到需要为表中的数据添加层级关系或路径的情况。例如,在一个菜单系统中,我们需要记录每个菜单项所属的路径,以便更好地管理和展示这些菜单项...

    存储过程技术在网络考试系统SQL注入攻击防御上的应用.pdf

    在没有使用存储过程的情况下,直接将用户输入拼接到SQL语句中,这为SQL注入攻击创造了条件。 4. 存储过程技术在防御SQL注入中的应用:文章强调了使用SQL Server存储过程可以有效提高系统安全性,因为存储过程通过预...

    sql存储过程根据生日求星座修正

    1. **条件检查**:首先检查是否已存在同名的存储过程,如果存在则删除。 2. **变量声明**:声明局部变量 `@NowDate` 和 `@Birthday`,其中 `@Birthday` 用来存储输入的日期参数 `@date`。 3. **日期转换**:将 `@...

Global site tag (gtag.js) - Google Analytics