没有合适的资源?快使用搜索试试~ 我知道了~
首页KingbaseES V008R003开发手册:全方位数据库开发与集成指南
KingbaseES V008R003开发手册:全方位数据库开发与集成指南
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 95 浏览量
更新于2024-07-21
收藏 3.57MB PDF 举报
"KingbaseESV008R003开发手册是由北京人大金仓信息技术股份有限公司编写的,专注于KingbaseESV8R3数据库的全方位开发指南。该手册主要分为三个部分:PartI快速入门,PartII服务器编程,和PartIII客户端编程。 PartI快速入门部分引导读者安装与更新KingbaseESV8R3,介绍了数据库的SQL和PL/SQL语言,以及全面的管理、开发、性能和安全方面的内容,确保用户能够迅速上手并了解基本操作。这部分强调了该数据库与国际标准的SQL语言一致性,以及与流行集成开发环境的良好集成,显示了其对主流数据库的高度兼容性。 PartII服务器编程涵盖了触发器、规则系统、PL/SQL开发技巧,以及如何进行OraclePL/SQL的移植,为服务器端应用程序开发人员提供了深入的技术指导。这些内容有助于开发者优化数据库逻辑和实现高效的业务处理。 PartIII客户端编程部分则详细讲解了ESQL-C中的嵌入式SQL、ODBC指南、JDBC指南、Hibernate、MyBatis、PerlDBI、PHP PDO和ADO.NET等多种编程接口,满足不同编程语言环境下的数据访问需求,展示了KingbaseESV8R3的跨平台和多语言特性,便于应用程序开发者根据项目需求选择合适的客户端编程方式。 这本手册不仅提供了一个全面的开发框架,还配备了实用的开发工具,为KingbaseESV8R3的应用程序开发者提供了一站式的参考资源,无论是初次接触还是经验丰富的开发者,都能从中获益匪浅。通过学习和使用这个手册,开发者能够充分利用KingbaseESV8R3的强大功能,提升应用程序的质量和效率。"
资源详情
资源推荐
CREATE VIEW X X - -
DROP AGGREGATE X X X -
DROP CAST X X X -
DROP COLLATION X X X -
DROP CONVERSION X X X -
DROP DOMAIN X X X -
DROP EXTENSION X X X -
DROP FOREIGN DATA WRAPPER X X X -
DROP FOREIGN TABLE X X X -
DROP FUNCTION X X X -
DROP INDEX X X X -
DROP LANGUAGE X X X -
DROP OPERATOR X X X -
DROP OPERATOR CLASS X X X -
DROP OPERATOR FAMILY X X X -
DROP OWNED X X X -
DROP POLICY X X X -
DROP RULE X X X -
DROP SCHEMA X X X -
DROP SEQUENCE X X X -
DROP SERVER X X X -
DROP TABLE X X X -
DROP TEXT SEARCH CONFIGURATION X X X -
DROP TEXT SEARCH DICTIONARY X X X -
DROP TEXT SEARCH PARSER X X X -
DROP TEXT SEARCH TEMPLATE X X X -
DROP TRIGGER X X X -
DROP TYPE X X X -
DROP USER MAPPING X X X -
DROP VIEW X X X -
命令标签命令标签
ddl_co
mmand_
start
ddl_co
mmand_
end
sql_dr
op
table_
rewrit
e
注解注解
KingbaseES V008R003
开发 手 册开发 手 册
北京 人大金 仓信 息技术 股份有 限公 司北京 人大金 仓信 息技术 股份有 限公 司 第第 16 页页 ,共,共 500 页页
GRANT X X - -
只对本地
对象
IMPORT FOREIGN SCHEMA X X - -
REVOKE X X - -
只对本地
对象
SECURITY LABEL X X - -
只对本地
对象
SELECT INTO X X - -
命令标签命令标签
ddl_co
mmand_
start
ddl_co
mmand_
end
sql_dr
op
table_
rewrit
e
注解注解
\set SQLTERM /
CREATE OR REPLACE FUNCTION snitch() RETURNS event_trigger AS
BEGIN
RAISE NOTICE 'snitch: % %', tg_event, tg_tag;
END;
/
\set SQLTERM ;
3.3. 事件触发器的创建事件触发器的创建
请参考
《
SQL
和
PL/SQL
速查手册》
-III. SQL
语句
-"
数据定义语句
"-"CREATE EVENT
TRIGGER"部分的内容。
3.4. 事件触发器的修改事件触发器的修改
请参考
《
SQL
和
PL/SQL
速查手册》
-III. SQL
语句
-"
数据定义语句
"-"ALTER EVENT TRIGGER"部
分的内容。
3.5. 事件触发器的删除事件触发器的删除
请参考
《
SQL
和
PL/SQL
速查手册》
-III. SQL
语句
-"
数据定义语句
"-"DROP EVENT TRIGGER"部
分的内容。
3.6. 事件触发器使用示例事件触发器使用示例
这个示例中的事件触发器会在 ddl_command_start 事件发生时打印出触发触发器的事件和命
令标签。
KingbaseES V008R003
开发 手 册开发 手 册
北京 人大金 仓信 息技术 股份有 限公 司北京 人大金 仓信 息技术 股份有 限公 司 第第 17 页页 ,共,共 500 页页
CREATE EVENT TRIGGER snitch ON ddl_command_start EXECUTE PROCEDURE snitch();
CREATE TABLE test(i int);
NOTICE: snitch: ddl_command_start CREATE TABLE
DROP TABLE test;
NOTICE: snitch: ddl_command_start DROP TABLE
KingbaseES V008R003
开发 手 册开发 手 册
北京 人大金 仓信 息技术 股份有 限公 司北京 人大金 仓信 息技术 股份有 限公 司 第第 18 页页 ,共,共 500 页页
规则系统规则系统
本章讨论KingbaseES中的规则系统。产生规则系统的概念很简单,但是在实际使用的时候会碰
到很多细节问题。
规则系统(更准确地说是查询重写规则系统)与存储过程和触发器完全不同。它通过考虑规则来
修改查询,并且把修改后的查询传递给查询规划器进行规划和执行。它非常强大,并且可以被用
于许多东西如查询语言过程、视图和版本。
1. 查询树查询树
要了解规则系统是如何工作的,必须要知道它什么时候被调用以及它的输入和结果是什么。
规则系统位于解析器和规划器之间。它以解析器的输出(即一个查询树)和用户定义的重写规则
(也是查询树,不过带有一些额外信息)作为输入,输出结果为零个或者多个常见的查询树。因
此它的输入和输出总是那些规划器自身产生的东西,因此,所能看到的任何东西都可以一
个SQL语句来表示。
那么什么是一个查询树?它是一个SQL语句的一种内部表示,其中用于创建它的每一个单独的部
分都被独立存储。如果你设置了配置参
数debug_print_parse、debug_print_rewritten或debug_print_plan,这些查询
树可以被显示在服务器日志中。规则动作也被作为查询树存储在系统目录sys_rewrite中。它
们没有被格式化为日志输出的形式,但是它们包含完全相同的信息。
阅读一棵未加工的查询树需要一些经验。但是由于通过查询树的SQL表示形式就足以理解规则系
统,本章将不会教授如何阅读查询树。
在阅读本章中查询树的SQL表现形式时,读者需要能够知道语句被分解成了哪些部分并且能在查
询树结构中标识它们。一棵查询树的部分有:
a. 命令类型
这是一个简单的值来说明该查询树是由哪一种命令
(SELECT、INSERT、UPDATE、DELETE)产生的。
b. 范围表
范围表是该查询使用到的关系的列表。在一个SELECT语句中,范围表是在关键词FROM后给
出的关系。
KingbaseES V008R003
开发 手 册开发 手 册
北京 人大金 仓信 息技术 股份有 限公 司北京 人大金 仓信 息技术 股份有 限公 司 第第 19 页页 ,共,共 500 页页
每一个范围表项标识一个表或视图,并且说明在该查询的其他部分要以哪个名称调用它。在查
询树中,范围表项通过编号而不是名称来引用,因此在一个SQL语句中出现重复的名字也没有
关系。在规则的范围表被合并以后有可能会出现这种情况。本章中的例子将不会出现这种情
况。
c. 结果关系
这是范围表的一个索引,用于标识查询的结果所在的关系。
SELECT查询没有结果关系(特殊情况SELECT INTO几乎等于CREATE TABLE后面跟
上INSERT ... SELECT,并且不在这里单独讨论)。
对于INSERT、UPDATE和DELETE命令,结果关系是修改将要生效表(或视图)。
d. 目标列表
目标列表是一个表达式的列表,它定义了查询的结果。在一个SELECT的情况下,这些表达式
会构建出该查询最终的输出。它们对应于关键字SELECT和FROM之间的表达式(*是一个关系
所有列名的缩写。解析器会把它扩展成独立的列,因此规则系统永远见不到它)。
DELETE命令不需要一个目标列表,因为它们不会产生任何结果。相反,规则系统会向空的目
标列表中加入一个特殊的CTID项来允许执行器找到要被删除的行(当结果关系是一个普通表
时才加入CTID。如果结果关系是一个视图,会加入一个整行变量,如章2.4. 更新一个视图所
述)。
对于INSERT命令,目标列表描述了将要放入到结果关系中的新行。它由VALUES子句中的表
达式或来自INSERT ... SELECT中SELECT子句的表达式构成。重写处理的第一步会将那
些没有被原始命令赋值但有默认值的列加入目标列项。任何剩余的列(既没有给定值也没有默
认值)将被规划器用一个常量空值表达式填充。
对于UPDATE命令,目标列表描述要替换旧行的新行。在规则系统中,它只包含来自命令
的SET column = expression部分的表达式。规划器将处理缺失的列,做法是为它们插
入表达式,这种表达式会把旧行的值复制到新行。正如DELETE一样,规则系统会增加一
个CTID或整行变量,这样执行器能够标识要被更新的旧行。
目标列表中的每一个项所包含的表达式可以是一个常量值、一个指向范围表中的一个关系列的
变量、一个参数或一个由函数调用、常量、变量、操作符等构成的表达式树。
e. 条件
查询的条件是一个表达式,就像包含在目标列表项中的表达式。这个表达式的结果值是一个布
尔值,它表明是否应该执行最终结果行的操作(INSERT、UPDATE、DELETE或SELECT)。
它对应于一个SQL语句的WHERE子句。
f. 连接树
查询的连接树展示了FROM子句的结构。对于一个SELECT ... FROM a, b, c这样的简单
查询,连接树就是FROM项的一个列表,因为我们可以以任何顺序连接它们。但是当JOIN表达
KingbaseES V008R003
开发 手 册开发 手 册
北京 人大金 仓信 息技术 股份有 限公 司北京 人大金 仓信 息技术 股份有 限公 司 第第 20 页页 ,共,共 500 页页
剩余499页未读,继续阅读
๑҉晴天
- 粉丝: 2560
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功