求多个SQL语句的分解方法 ( 积分: 100 )

  • 主题发起人 主题发起人 zuoc
  • 开始时间 开始时间
Z

zuoc

Unregistered / Unconfirmed
GUEST, unregistred user!
多个SQL语句写在一起,分解出每个SQL语句.就象SQL Server的查询分析器一样,写多个SQL执行查询时,显示多个查询结果.
 
多个SQL语句之间需要一个分隔的呀,像SQL的查询分析器中是以空白行为分隔的。否则无法判断是多个SQL语句,还是一个复合式的SQL语句。
依据读到SQL语句的条数动态创建多个Grid用于显示查询结果。
 
老兄,在查询分析器里可以写成
select
*
from XXX
select * from
YYY
是怎么分解的呢?
 
用;這個號分開的,你可以以;號分開一個SQL語句,然後再一個一個執行,試試,
 
更正一下,不要用什么号分隔,象SQL Server的查询分析器一样.
 
查询分析器里面是带语法分析的,其实就是一个解析语言的编译器。一定要做到这个程序,那只有自己去写语法分析算法喽。

但如果从编程的角度上来讲,还是对用户进行一定的约束,比如规定语句用分号分隔,可以节省很多的劳动
 
跟踪了SQL Server的查询分析器的执行,发现并没有分解SQL,而是多个SQL一起执行,然后下面显示多个数据集.有人知道怎么实现吗?
 
查询分析器的智能比较高,我们降低一下要求,是可以做到的
按段落划分,就很简单了,就是用回车换行把两段隔开,然后设计分段算法就可以了
分段算法就是纯文本处理问题了

欢迎加入Delphi交流群:33783080
 
顶!大哥,那样不好分啊!没有分隔符怎么分啊!
 
select id,xx from table1
UNION ALL
select id,xx from table2
...

就可以了。
 
后退
顶部