问题标签 [dynamic-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
233487 浏览

sql - 删除名称以某个字符串开头的所有表

如何删除名称以给定字符串开头的所有表?

我认为这可以通过一些动态 SQL 和INFORMATION_SCHEMA表来完成。

0 投票
3 回答
3303 浏览

sql - 动态搜索多个 sql 表的需要模式

我正在寻找一种在多个表上执行动态搜索的模式。

我无法控制遗留(且设计不佳)的数据库表结构。

考虑类似于简历搜索的场景,其中用户可能希望对简历中的任何数据执行搜索,并获取与其搜索条件匹配的简历列表。任何字段都可以随时与一个或多个其他字段组合进行搜索。

实际的 sql 查询是根据搜索的字段动态创建的。我发现的大多数解决方案都涉及复杂的 if 块,但我不禁认为必须有一个更优雅的解决方案,因为现在这必须是一个已解决的问题。


是的,所以我开始了在代码中动态构建 sql 的路径。看起来很可怕。如果我真的尝试支持查询任何表中任何字段的任何组合的请求能力,这将是一组 MASSIVE 语句。 颤抖


我相信我读到 COALESCE 仅在您的数据不包含 NULL 时才有效。那是对的吗?如果是这样,那就不行,因为我到处都有 NULL 值。

0 投票
16 回答
119085 浏览

sql-server - 在 SQL Server 中,如何为给定表生成 CREATE TABLE 语句?

我花了很多时间想出解决这个问题的方法,所以本着这篇文章的精神,我把它贴在这里,因为我认为它可能对其他人有用。

如果有人有更好的脚本,或者有什么要补充的,请发布。

编辑:是的,伙计们,我知道如何在 Management Studio 中执行此操作 - 但我需要能够从另一个应用程序中执行此操作。

0 投票
6 回答
2286 浏览

dynamic-sql - SQL 查询帮助 - 为多项选择测试评分

假设我有一个学生表,它有一个 int ID。我有一组固定的 10 个多项选择题,有 5 个可能的答案。我有一个标准化的答案表,其中包含问题 ID、Student.answer (1-5) 和 Student.ID

我正在尝试编写一个查询,该查询将返回超过某个百分比的所有分数。为此,我编写了一个简单的 UDF,它接受 Student.answers 和正确答案,因此它有 20 个参数。

我开始怀疑是否最好对答案表进行非规范化,将其带入我的应用程序并让我的应用程序进行评分。

任何人都曾经处理过这样的事情并有洞察力吗?

0 投票
4 回答
8045 浏览

sql - 动态 SQL - 搜索查询 - 可变数量的关键字

我们正在尝试更新我们的经典 asp 搜索引擎以保护它免受 SQL 注入。我们有一个 VB 6 函数,它通过基于各种搜索参数将查询连接在一起来动态构建查询。我们已经使用动态 sql 将其转换为存储过程,用于除关键字之外的所有参数。

关键字的问题是用户提供了可变数量的单词,我们想为每个关键字搜索几列。由于我们无法为每个关键字创建单独的参数,我们如何构建安全查询?

例子:

处理此问题并维护 SQL 注入保护的最佳方法是什么?

0 投票
21 回答
241230 浏览

sql - 为什么有人会使用 WHERE 1=1 AND在 SQL 子句中?

为什么有人会WHERE 1=1 AND <conditions>在 SQL 子句中使用(无论是通过连接字符串获得的 SQL,还是视图定义)

我在某处看到这将用于防止 SQL 注入,但这似乎很奇怪。

如果有注入WHERE 1 = 1 AND injected OR 1=1将有相同的结果injected OR 1=1

稍后编辑:视图定义中的用法如何?


谢谢您的回答。

不过,我不明白为什么有人会使用这种结构来定义视图,或者在存储过程中使用它。

以此为例:

0 投票
5 回答
2176 浏览

sql-server - 动态 SQL 有哪些危险,可以避免吗?

我们刚刚获得了以下代码,作为离岸开发人员提供的新应用程序中复杂搜索查询的解决方案。我对动态 SQL 的使用持怀疑态度,因为我可以使用 '; 关闭 SQL 语句。然后执行一个将在数据库上执行的讨厌的操作!

关于如何修复注入攻击的任何想法?

0 投票
2 回答
3020 浏览

java - Java - Ibatis - mySQL 与基于角色的动态查询

我在前端使用带有 Flex/Flash 的 Java - Ibatis 和 mySQL。我有一个要求是能够根据用户角色动态地将 creterias 和表添加到查询中。这是一个例子

相同的对象调用相同的 SQL 但基于角色的不同结果

角色 1:完全访问员工

作用 2:对员工的访问受限

我可以使用动态 SQL

其他想法?

0 投票
6 回答
5028 浏览

sql - 条件连接 - 动态 SQL

在这里工作的 DBA 正试图将我简单的存储过程变成一个动态的 sql 怪物。诚然,我的存储过程可能没有他们想要的那么快,但我不禁相信有一种足够的方法来执行基本上是条件连接的操作。

这是我的存储过程的示例:

UDF 将逗号分隔的过滤器列表(例如银行名称)转换为表格。

显然,在 where 子句中包含过滤条件并不理想。欢迎任何关于基于存储的 proc 参数有条件地加入的更好方法的建议。除此之外,是否有人对动态 sql 方法有任何建议或反对?

谢谢

0 投票
5 回答
30322 浏览

sql - 从 SQL 2008 中的外键关系生成删除语句?

是否可以通过脚本/工具根据表 fk 关系生成删除语句。

即我有表:DelMe(ID) 并且有 30 个表,其中我需要首先删除其 ID 的 fk 引用,是否有一些我可以运行的工具/脚本将根据 FK 关系生成 30 个删除语句为了我 ?

(顺便说一句,我知道关系上的级联删除,我不能在这个现有的数据库中使用它)

我正在使用 Microsoft SQL Server 2008