📄 creating heterogenous queries.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>Creating heterogenous queries</title>
</head>
<body>
<table border="0" width="100%" style="font-size: 9pt">
<tr>
<td width="100%"><strong>异构查询</strong><br>
Delphi支持异构查询。所谓异构查询,就是同时查询几个不同的数据库。这些数据库可以位于不同的服务器上,甚至服务器的类型也可以不同。比如,可以同时查询Oracle数据库、Sybase数据库和本地的dBASE表。当程序执行异构查询的时候,BDE通过Local
SQL来分析和处理这个查询。正因为如此,所以与服务器相关的特定的SQL语法不支持。<br>
<br>
要执行异构查询,可以:<br>
(1)为查询要访问的数据库建立不同的BDE别名。把一个TQuery构件放到数据模块上,DatabaseName属性为空。查询要使用的不同数据库将在SQL属性中指定。<br>
(2)在SQL属性中指定要执行的SQL语句。在SQL语句中,每个数据表的名称前要加数据库的别名。别名和数据表之间要加冒号,并且用双引号括起来。<br>
(3)在Params属性中指定查询的参数<br>
(4)调用Prepare通知BDE或服务器做好准备<br>
(5)调用Open或ExecSQL执行查询<br>
<br>
比如,在Oracle数据库中有一个CUSTOMER数据表,Oracle数据库的别名是Oracle1;在Sybase数据库中有一个Orders数据表,Sybase数据库的别名是Sybase1;那么,一个简单的异构查询如下所示:<br>
SELECT Customer.CustNo, Orders.OrderNo <br>
FROM "Oracle1:CUSTOMER"<br>
JOIN "Sybase1:ORDERS"<br>
ON (Customer.CustNo = Orders.CustNo)<br>
WHERE (Customer.CustNo = 1503)<br>
在异构查询中除了使用“别名”外,也可以指定一个数据库。可以使用一个TDatabase构件,设置TDatabase构件的DatabaseName属性为应用程序专用的别名,在SQL语句中可以用专用的别名代替BDE别名。<hr
size="1">
<p align="center"><a href="mailto:ilovedelphi@163.net">RainBow</a>策划制作
版权所有</td>
</tr>
</table>
<p> </p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -