解析 SQL 语句的库

2024-04-03

我希望能够解析任意 SQL SELECT 语句并检索各个组成部分(列、关系、JOIN 条件、WHERE 条件、ORDER BY 列),最好使用 Delphi。快速谷歌搜索显示了几种不同的免费软件产品,但尚不清楚它们是否完整和/或正在积极开发中。

我立即需要提取一系列视图定义中使用的关系列表,以确保在尝试创建视图之前存在所需的视图或表。例如,对于以下语句:

SELECT PersonID, LastName, OrderID 
FROM People P INNER JOIN Orders O ON P.PersonID = O.PersonID

我需要取回“人员”和“订单”的值。 (显然,这是一个简单的示例。我希望能够处理更复杂的情况,例如,单词“FROM”可能作为表达式的一部分出现在列列表中)。

我正在尝试在数据库中提供此服务,该数据库允许使用从 DLL 导出的 STDCALL 函数,因此理想情况下任何候选库都可以从 Delphi 或 C 调用。


看一眼黄金解析器。 http://www.devincook.com/goldparser/它有一个可用的 Delphi 版本,下载页面上还提供 SQL 语法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析 SQL 语句的库 的相关文章

  • 为什么这个简单的 MySQL 查询不返回该行?

    我在表中有一行users与用户名test 但由于某种原因 此查询返回空结果集 SELECT id FROM users WHERE username test AND id null 但是 如果我删除 id null段 查询返回结果id 1
  • MySQL 查询在基于特定标签组合获取行时返回不需要的行

    我在 Windows 8 PC 上运行 PHP MySQL 我有一张桌子mytable像下面这样 product tag lot 1111 101 2 1111 102 5 2222 103 6 3333 104 2 4444 101 2
  • mysql JOIN,这是如何解释的?

    如果我为 mysql 编写一条 sql 查询 并且只指定 JOIN 没有外连接 内连接 左连接等 那么默认的连接类型是什么 例如 SELECT count FROM Students p JOIN 班级 c ON p studentId c
  • 将 python NLTK 解析树保存到图像文件[重复]

    这个问题在这里已经有答案了 这可能会复制这个 stackoverflowquestion https stackoverflow com questions 23429117 saving nltk drawn parse tree to
  • 改进/修复 C 样式块注释的正则表达式

    我正在 用 C 编写一个简单的解析器来处理看起来很像经典 C 的脚本语言 在我拥有的一个脚本文件中 我用来识别 块注释 的正则表达式会进入某种无限循环 长时间占用 100 的 CPU 我使用的正则表达式是这样的 r n r n 关于为什么这
  • Hibernate OneToMany 列表中的重复结果

    我已将 1 N 关系与 OneToMany 列表映射 但当我访问该列表时 由于 OUTER JOIN 结果会重复 映射如下所示 Entity public class Programmer ElementCollection fetch F
  • Firemonkey 移动应用程序和远程 MySQL

    我正在使用 Delphi XE5 并且我已经创建了基本的 Firemonkey 移动应用程序 Delphi 我想连接到远程 MySQL 数据库 我应该使用哪一个数据库管道 FireDAC DBExpress 等 您可以使用标准 TSQLQu
  • 是否可以使用 jQuery 从 SQL Server 检索数据?

    是否可以使用 jQuery 从 SQL Server 检索数据并使用 HTML 控件显示数据 jQuery 被设计为在浏览器环境中运行 所以这是一个具有 DOM 的环境 具有 JavaScript 支持 显然 等等 要从 MS SQL Se
  • 如何在 C# 中导航任何 JSON 树?

    我需要像导航 XML 一样导航 Json 结构XmlDocument 结构未知 我需要迭代节点来解析一些数据 这可能吗 我知道我可以使用JavaScriptSerializer将其反序列化为已知类型 但事实并非如此 因为我可以接收任何有效的
  • 表名或列名不能以数字开头?

    我尝试创建名为15909434 user语法如下 CREATE TABLE 15909434 user 这当然会产生错误 然后 在我尝试用谷歌进行一些研究后 我发现了一篇很好的文章here http www informit com art
  • 何时在 SQL 语句中使用单引号?

    我知道当我处理 TEXT 类型的数据时应该使用它 我猜是那些回退到 TEXT 的数据 但这是唯一的情况吗 Example UPDATE names SET name Mike WHERE id 3 我正在用 C 编写 SQL 查询自动生成
  • ALL 的 SQL 参数

    我想知道SQL中是否有一个参数适用于所有 不是 例如 我现在正在编写一个搜索表 如果用户不在文本框中输入某些内容 则意味着忽略该特定参数并显示该字段的所有内容 我知道您可以为每种情况创建单独的 OLEDB 或 SQL 命令 并且它会起作用
  • 使用java将数据插入mySQL表

    I have a predefined table in a mySQL database 我正在努力将从用户输入的数据保存到数据库中 但我似乎无法将任何数据保存在数据库中 使用以下代码 我尝试更新数据库的第一行 ID 1 到 OTHER
  • Oracle:在更新具有多列的表的一个字段时复制行

    有没有一种方法可以一般复制一行 特别是在不指定所有列的情况下 在我的情况下 我有一个大表 我想在其中复制除 ID 和另一列之外的所有列 事实上 数据是在年初复制的 该表有 50 多列 因此如果我不必指定所有列 则更改架构会更加灵活和稳健 这
  • 以与文件大小相同的格式获取类或对象的大小?

    如何从内存中最好地确定类的大小 这是一个可以使用的基本示例类 请注意 这些变量除了用于示例之外没有其他用途 type TMyClass class public fString1 string fString2 string fIntege
  • MySQL 主键是否已经处于某种默认顺序

    我刚刚在一个我刚刚开始使用的系统中偶然发现了几行我并不真正理解的代码 该系统有一个大表 可以保存大量具有唯一 ID 的实体 并在不再需要时将其删除 但绝不会重用它们 所以桌子看起来像这样 id info1 info2 info3 1 foo
  • Delphi LZMA减压样本

    我发现在this https stackoverflow com questions 4344976 lzma or 7zip in delphi的线程链接delphi压缩包 https github com ccy delphi zip具
  • 无法绑定多部分标识符

    我在 SO 上看到过类似的错误 但我找不到解决我的问题的方法 我有一个 SQL 查询 例如 SELECT DISTINCT a maxa b mahuyen a tenxa b tenhuyen ISNULL dkcd tong 0 AS
  • 构建复杂 NSCompoundPredicate 的最佳方法是什么?

    我需要建立一个NSPredicate有很多数据 例如 在 SQL 中我会执行如下操作 SELECT FROM TRANSACTIONS WHERE CATEGORY IN categoryList AND LOCATION IN locat
  • 如何从 T-SQL 中的“/”分隔字符串中获取几乎最后一个子字符串?

    如果我有一个由用 字符分隔的其他字符串 xxx xxx xxx xxxx 组成的字符串 如何使用 t sql 获取最后一个和几乎最后一个 最后一个之前的 部分 它可能应该是 charindex 和 right 的某种组合 declare s

随机推荐

  • Xamarin 方向传感器矢量角

    我在用着Xamarin Essentials OrientationSensor在我的项目中 我无法解释QuaternionAPI 为我提供了新的读物 问题描述 Here s a figure describing my problem 我
  • 在 Ubuntu 11.04 中禁用堆栈崩溃保护

    我在 2007 年 MacBook 上运行 32 位 Ubuntu 11 04 并且刚刚开始了解缓冲区溢出漏洞 我正在尝试运行书中的示例程序 但 Ubuntu 的安全措施使我无法成功执行缓冲区溢出 这是我尝试运行的代码 include
  • Flutter - 删除滑块中的默认填充

    我想知道如何删除默认填充Flutter Slider 电流输出是这样的 默认填充滑块的形状清晰可见 这是我的代码 Positioned child Align alignment Alignment bottomLeft child Sli
  • PyCharm 5 找不到 Django 1.9 模板

    当我使用 PyCharm 5 0 3 调试我的应用程序时 我想在模板文件 Django 1 9 中插入一些断点 但是 当我在 PyCharm 调试模式下运行应用程序时 它会在处理第一个请求后立即打印以下警告 警告 模板路径不可用 请在 se
  • Linq:存储为文本时按日期排序

    我需要按日期排序 但日期以文本形式存储在数据库中 我正在使用 Linq to 实体来执行查询 根据数据库的设计方式 将该列更改为日期列是不可行的 因为该列中有许多不同的数据类型 有一个名为的鉴别器列type所以我会知道特定行是什么类型 您可
  • 使用WebSocket上传大文件

    我正在尝试使用 WebSocket API 上传大文件 至少 500MB 最好达到几 GB 问题是我不知道如何编写 发送文件的这一部分 释放所使用的资源 然后重复 我希望我可以避免使用 Flash Silverlight 之类的东西 目前
  • 在新列中获取具有相似地址的 id

    我有一个数据帧 我从中处理一些列 以获取每个客户 ID 的地址与每个其他客户 ID 的地址的匹配百分比 如果某些地址与其他地址的匹配百分比高于 80 那么我想在新列中收集其相应的客户 ID 我编写了代码 在其中获取元组列表 其中每个元组中都
  • $root 和 $parent 有什么区别?

    我正在学习 KnockoutJS 但我不明白两者之间的区别 root and parent用法 请参见这个jsfiddle http jsfiddle net supercool 2gt4K 27 或下面的代码 div data Value
  • 在家学习共享点[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有没有可以安装并用于家庭学习目的的 sharepoint 家庭 版本 Thanks Microsoft 预配置的 Sharepoint 2007 安装
  • 模拟实体框架核心上下文

    我尝试测试我的应用程序 因此我需要模拟我的 EF 上下文 我的代码似乎没问题 但有以下异常 System ArgumentNullException 值不能为空 参数名称 来源 这是我的测试方法 var options new DbCont
  • python re.sub,仅替换部分匹配[重复]

    这个问题在这里已经有答案了 我对 python 很陌生 我需要通过一个正则表达式匹配所有情况并进行替换 这是一个示例子字符串 gt 期望的结果
  • 如何将内存中的multer文件缓冲区上传到google云存储桶?

    我使用 multer 和 nodejs 来处理多部分表单数据 我不想保存从客户端获得的 req file 我想直接将内存中的文件缓冲区上传到谷歌云存储 但是存储桶 firebase storage 的上传方法只需要一个文件路径作为参数 有什
  • SQL 查询至少其中一项

    我有一群用户 每个用户都有很多帖子 架构 Users id Posts user id rating 如何找到至少有一篇帖子评级高于 例如 10 的所有用户 我不确定是否应该为此使用子查询 或者是否有更简单的方法 Thanks 要查找至少有
  • 我可以让 SQLAlchemy 根据当前外键值填充关系吗?

    这是一些代码 latest version at https gist github com nickretallack 11059102 from sqlalchemy ext declarative import declarative
  • “jQuery 方式”仅用 HTML 和文本的混合替换文本节点?

    在我的 Web 浏览器用户脚本项目中 我只需要替换一个文本节点 而不影响与文本位于同一父节点下的其他 HTML 元素 我需要用多个节点替换它 div foo bar baz img src image png div 需要成为 div a
  • Github Mac 权限问题

    作为新的 Git 用户 我正在使用最新的 Mac 版 Github 当我尝试同步存储库 我首先克隆 然后创建一个新分支 提交更改 然后与 master 合并 时 我收到错误 Authentication Failed You may not
  • 浏览器不会通过 onclick 事件设置 cookie

    尽管我确信这是显而易见的事情 但我还是对这个错误感到恼火 如果是的话 抱歉 以下 JavaScript 成功设置了我的 cookie 但是一旦我将相同的代码绑定到onclick事件 就像这样
  • 这个递归同步调用如何不死锁?

    我有一组方法 它们全部同步到类对象 不能使用 self 因为可以在多个线程中使用该对象的多个实例 其中一些方法调用类中也在类对象上同步的其他方法 不知怎的 这有效并且不会导致我期望的僵局 我假设 testA 将被阻止运行 因为 testB
  • if (设备 == iPad), if (设备 == iPhone)

    所以我有一个通用应用程序 我正在设置一个内容的大小UIScrollView 显然 iPhone 和 iPad 上的内容大小会有所不同 如何为 iPad 设置特定尺寸 为 iPhone 和 iPod touch 设置另一个尺寸 if UI U
  • 解析 SQL 语句的库

    我希望能够解析任意 SQL SELECT 语句并检索各个组成部分 列 关系 JOIN 条件 WHERE 条件 ORDER BY 列 最好使用 Delphi 快速谷歌搜索显示了几种不同的免费软件产品 但尚不清楚它们是否完整和 或正在积极开发中