当前位置: 首页 > 知识库问答 >
问题:

正在查找用于多个查询的动态存储过程[duplicate]

章子航
2023-03-14

我想设计一个动态存储过程,在其中我将传递列名、表名和where子句。以便使用存储过程在具有不同参数的不同表上运行select。

我不确定这是否可能。如果是,任何人都可以帮助我的例子。

例如。

SET V_SELECT =                                         
  'SELECT ' || SELECT_FIELDS ||                        
  ' FROM '  || TABLE_NAME    ||                        
  ' WHERE ' || WHERE_CLAUSE  ||                        
  ' WITH UR';                                          

  EXECUTE IMMEDIATE V_SELECT INTO || INTO_FIELDS   ||;

共有1个答案

方梓
2023-03-14
CREATE PROCEDURE usp_DynamicProc
(
    @SelectFields NVARCHAR(1024)
    , @IntoTableName NVARCHAR(255)
    , @TableName NVARCHAR(255)
    , @WhereClause NVARCHAR(1024)
)
AS
DECLARE @SQL NVARCHAR(MAX)
SELECT @SQL = 'SELECT ' + @SelectFields + ISNULL(' INTO ' + @IntoTableName,'') + ' FROM ' + @TableName + ' WHERE ' + @WhereClause
EXEC sp_executesql @SQL
 类似资料:
  • 问题内容: 我有一个应用程序,每小时执行约20000次DATA-OPERATIONS DATA- OPERATION总共具有30个参数(用于所有10个查询)。有些是文本,有些是数字。某些Text参数最长为10000个字符。 每个DATA-OPERATION都执行以下操作: 单个DATA-OPERATION,可在数据库中插入/更新多个表(约10个)。 对于每一次DATA-OPERATION,我都会建

  • 问题内容: 我在存储过程中创建一个动态查询。我的存储过程如下: 当我尝试通过以下调用运行它时: 我收到以下错误消息: 错误代码:1054。“ where子句”中的未知列“ SPA” 我在没有where条件的情况下进行了测试,并且工作正常,但是在where条件不起作用的情况下,我尝试使用@和变量名一起使用,但仍然无法正常工作。 谢谢你的帮助。 问题答案: 您错过了条款中的引号。 尝试这样: 说明 :

  • 本文向大家介绍在MySQL存储过程中实现动态SQL查询?,包括了在MySQL存储过程中实现动态SQL查询?的使用技巧和注意事项,需要的朋友参考一下 对于存储过程中的动态SQL查询,请使用PREPARE STATEMENT的概念。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是创建存储过程并实现动态SQL的查询- 调用存储

  • 目前我一直在使用以下Spring JPA存储库自定义查询, 我需要修改这个查询时,筛选文本将是逗号分隔的值。但按照以下方式,它将是一个动态查询,我如何执行它。 我需要构建动态查询,

  • 问题内容: 假设我有一个存储在这样的变量中的查询(它实际上是动态填充的,并且更复杂,但这是出于演示目的): 有没有一种方法可以检查查询是否返回任何结果?像这样的东西,但这是行不通的: 我能想到的唯一方法是将结果放入临时表中,然后从中进行查询,但这并不理想,因为动态查询中的列可以变化,而且我真的不需要临时表除了检查是否会返回某些行外,完全出于其他原因。有没有更好的办法? 问题答案: 尝试执行和用于查

  • 问题内容: 如何在同一例程中使用两个游标?如果我删除了第二个游标声明并获取了循环,一切都将正常工作。该例程用于在我的webapp中添加朋友。它使用当前用户的ID和我们要添加的朋友的电子邮件作为朋友,然后检查电子邮件是否具有相应的用户ID,如果不存在朋友关系,它将创建一个。除此以外的任何其他常规解决方案也都很好。 问题答案: 我终于写了一个执行相同功能的不同函数: 我希望这是一个更好的解决方案,无论