You must enable javascript in order to view this page or you can go
here
to view the webhelp.
GBase 8s SQL 指南:教程
Content
Search Results
Index
Loading, please wait ...
GBase 8s SQL 指南:教程
符合行业标准
演示数据库
示例代码约定
数据库概念
数据模型的说明
存储数据
查询数据
修改数据
并发使用和安全性
控制数据库使用
访问管理策略
创建和授予角色
为缺省角色定义和授予特权
内置角色
集中管理
重要的数据库术语
关系数据库模型
表
列
行
视图
序列
针对表的操作
对象关系模型
结构化查询语言
标准 SQL
GBase 8s SQL 和 ANSI SQL
交互式 SQL
一般编程
符合 ANSI 的数据库
Global Language Support
总结
编写 SELECT 语句
介绍 SELECT 语句
SELECT 语句的输出
大对象数据类型的输出
用户定义的数据类型的输出
非缺省代码集的输出
一些基本概念
特权
关系操作
选择和投影
连接
单个表的 SELECT 语句
使用星号(*)
队列进行重新排序
使用 ORDER BY 子句存储行
升序
降序
对多个列进行排序
选择特定列
选择子串
ORDER BY 和非英文数据
使用 WHERE 子句
创建比较条件
包括行
排除行
指定一定范围的行
排除一定范围的行
使用 WHERE 子句查找值的子集
标识 NULL 值
构成复合条件
使用精确文本比较
使用变量文本搜索
使用单字符通配符
指定一定范围内的词首字符的 WHERE 子句
具有可变长通配符的 WHERE 子句
MATCHES 子句和非缺省语言环境
保护特殊字符
在 WHERE 子句中使用下标
使用 FIRST 子句选择特定行
不具有 ORDER BY 子句的 FIRST 子句
具有 ORDER BY 子句的 FIRST 子句
表达式和派生的值
算术表达式
使用显示标签
CASE 表达式
对派生列进行排序
在 SELECT 语句中使用 Rowid 值
多表 SELECT 语句
创建笛卡尔积
创建连接
跨连接
等值连接
自然连接
多表连接
某些查询快捷方式
别名
INTO TEMP 子句
总结
从复杂类型选择数据
选择行类型数据
选择类型表的列
选择包含行类型数据的列
字段投影
使用字段投影来选择嵌套字段
选择行类型的个别字段
使用星号表示法来访问行类型的所有字段
从集合中选择
选择嵌套集合
使用 IN 关键字来搜索集合中的元素
选择表层次结构中的行
不使用 ONLY 关键字选择超表的行
使用 ONLY 关键字选择超表的行
对超表使用别名
总结
在 SELECT 语句中使用函数
在 SELECT 语句中使用函数
聚集函数
AVG 函数
COUNT 函数
MAX 和 MIN 函数
RANGE 函数
STDEV 函数
SUM 函数
VARIANCE 函数
将函数应用于表达式
时间函数
DAY 和 CURRENT 函数
MONTH 函数
WEEKDAY 函数
YEAR 函数
格式化 DATETIME 值
数据转换函数
DATE 函数
TO_CHAR 函数
TO_DATE 函数
基数函数
智能大对象函数
字符串处理函数
LOWER 函数
UPPER 函数
INITCAP 函数
REPLACE 函数
SUBSTRING 和 SUBSTR 函数
SUBSTRING 函数
SUBSTR 函数
LPAD 函数
RPAD 函数
其它函数
LENGTH 函数
USER 函数
TODAY 函数
DBSERVERNAME 和 SITENAME 函数
HEX 函数
DBINFO 函数
DECODE 函数
NVL 函数
SELECT 语句中的 SPL 例程
数据加密函数
使用列级别数据加密来保护信用卡数据
总结
编写高级 SELECT 语句
GROUP BY 和 HAVING 子句
GROUP BY 子句
HAVING 子句
创建高级连接
自连接
外连接
对外连接语法的 GBase 8s 扩展
ANSI 连接语法
左外连接
右外连接
简单连接
对两个表的简单外连接
与第三个表进行简单连接的外连接
将两个表与第三个表相连接
组合外连接的连接
SELECT 语句中的子查询
相关子查询
SELECT 语句中的子查询
Projection 子句中的子查询
FROM 子句中的子查询
WHERE 子句中的子查询
ALL 关键字
ANY 关键字
单值子查询
相关子查询
EXISTS 关键字
DELETE 和 UPDATE 语句中的子查询
处理 SELECT 语句中的集合
集合子查询
在集合子查询中省略 ITEM 关键字
在集合子查询中指定 ITEM 关键字
FROM 子句的集合子查询
集合派生的表
用于集合派生表的符合 ISO 的语法
集合运算
联合
将 ORDER BY 子句与 UNION 一起使用
UNION ALL 关键字
使用不同的列名
将 UNION 与多个表配合使用
在 Projection 子句中使用文字
使用 FIRST 子句
相交
差异
总结
修改数据
修改数据库中的数据
删除行
删除表的所有行
使用 TRUNCATE 来删除所有行
删除指定的行
删除选择了的行
删除包含 row 类型的行
删除包含集合类型的行
从超级表中删除行
复杂的删除条件
MERGE 的 Delete 子句
插入行
单个行
可能的列值
对列值的限制
序列数据类型
罗列特定的列名称
将行插入到类型的表中
在列上插入的语法规则
包含命名了的 row 类型的行
包含未命名的 row 类型的行
为 row 类型指定 NULL 值
将行插入到超级表内
将集合值插入到列内
将值插入到简单的集合和嵌套的集合内
将 NULL 值插入到包含 row 类型的集合内
插入智能大对象
多个行和表达式
对插入选择的限制
更新行
选择要更新的行
以统一值进行更新
对更新的限制
用选择了的值更新
更新 row 类型
更新包含命名了的 row 类型的行
更新包含未命名的 row 类型的行
为 row 类型的字段指定 Null 值
更新集合类型
更新超级表的行
更新列的 CASE 表达式
更新智能大对象的 SQL 函数
更新表的 MERGE 语句
对数据库级对其对象的权限
数据库级别权限
表级别权限
显示表权限
将权限授予角色
数据完整性
实体完整性
语义完整性
引用完整性
ON DELETE CASCADE 选项
级联删除的示例
对级联删除的限制
对象模式和违反检测
对象模式的定义
启用模式
禁用模式
过滤模式
使用数据操纵语句的模式的示例
当约束为启用的时,插入操作的结果
当约束为禁用时,插入操作的结果
当约束处于过滤模式时,插入的结果
对于一个违反行的多个诊断行
违反表和诊断表
违反表与数据库对象模式的关系
START VIOLATIONS TABLE 语句的示例
对违反表的权限的示例
对诊断表的权限的示例
中断了的修改
事务
事务日志记录
日志记录和级联删除
指定事务
使用 GBase 8s 数据库服务器来备份和记录日志
并发和锁定
GBase 8s 数据复制
总结
在外部数据库中访问和修改数据
访问其他数据库服务器
访问 ANSI 数据库
在外部数据库服务器之间创建连接
访问外部例程
对于远程数据库访问的限制
访问多个数据库的 SQL 语句
访问外部数据库对象
SQL 编程
程序中的 SQL
SQL API 中的 SQL
应用程序语言中的 SQL
静态的嵌入
动态的语句
程序变量和主变量
调用数据库服务器
SQL 通信区域
SQLCODE 字段
数据的结束
负代码
SQLERRD 数组
SQLWARN 数组
SQLERRM 字符串
SQLSTATE 值
检索单行
数据类型转换
如果程序检索到 NULL 值,该怎么办?
处理错误
数据的结束
不符合 ANSI 的数据库的数据的结束
严重的错误
使用聚集函数解释数据的结束
缺省值
检索多行
声明游标
打开游标
访存行
检测数据的结束
定位 INTO 子句
游标输入模式
游标的活动集
创建活动集
顺序游标的活动集
SCROLL 游标的活动集
活动集和并发
部件爆炸问题
动态 SQL
准备语句
执行准备好的 SQL
动态主变量
释放准备好的语句
快速执行
嵌入数据定义语句
授予和撤销应用程序中的权限
指定角色
总结
通过 SQL 程序修改数据
DELETE 语句
直接删除
直接删除期间的错误
事务日志记录
协调的删除
使用游标删除
INSERT 语句
插入游标
声明插入游标
使用游标来插入
PUT 和 FLUSH 之后的状态代码
常量行
插入示例
多少行受到了影响?
UPDATE 语句
更新游标
关键字 UPDATE 的用途
更新特定的列
不总是需要的 UPDATE 关键字
清理表
总结
对多用户环境编程
并发和性能
锁定和完整性
锁定和性能
并发问题
锁定如何工作
锁的种类
锁作用域
数据库锁
表锁
使用 LOCK TABLE 语句来锁定表
数据库服务器何时自动地锁定表
使用 ONLINE 关键字来避免表锁定
行和键锁
页锁
为所有 CREATE TABLE 语句设置行锁或页锁模式
单用户锁模式
多用户锁模式
优先顺序的规则
稀疏索引锁
智能大对象锁
字节范围锁
锁的持续时间
在修改时锁定
使用 SELECT 语句来锁定
设置隔离级别
对比 SET TRANSACTION 与 SET ISOLATION
SET ISOLATION
SET TRANSACTION
ANSI Read Uncommitted 与 GBase 8s Dirty Read 隔离
ANSI Read Committed 与 GBase 8s Committed Read 隔离
GBase 8s Cursor Stability 隔离
ANSI Serializable、ANSI Repeatable Read 和 GBase 8s Repeatable Read 隔离
更新游标
保留更新锁
使用某些 SQL 语句发生的排他锁
锁类型的行为
使用访问模式来控制数据修改
设置锁模式
等待锁
不等待锁
等待有限的时间
处理死锁
处理外部的死锁
简单的并发
保持游标
SQL 语句高速缓存
总结
创建和使用 SPL 例程
SPL 例程介绍
使用 SPL 例程可做什么
SPL 例程格式
CREATE PROCEDURE 或 CREATE FUNCTION 语句
开始和结束例程
指定例程名称
添加特定的名称
添加参数列表
简单大对象作为参数
未定义的参数
添加返回子句
添加显示标签
指定 SPL 函数是否为变体
添加修饰符
COMMUTATOR 修饰符
NEGATOR 修饰符
指定 DOCUMENT 子句
指定清单文件
添加注释
完整例程的示例
在程序中创建 SPL 例程
在本地的或远程的数据库中删除例程
定义和使用变量
声明本地变量
本地变量的作用域
声明内建的数据类型的变量
声明智能大对象的变量
声明简单大对象的变量
声明集合变量
声明 row 类型变量
声明 opaque 类型和 distinct 类型变量
使用 LIKE 子句来声明列数据的变量
声明 PROCEDURE 类型变量
带有变量的下标
变量与关键字歧义
变量和列名称
变量和 SQL 函数
声明全局变量
赋值给变量
LET 语句
赋值给变量的其他方式
SPL 例程中的表达式
编写语句块
隐式的和显式的语句块
FOREACH 循环
FOREACH 循环定义游标
对 FOREACH 循环的限制
IF - ELIF - ELSE 结构
添加 WHILE 和 FOR 循环
退出循环
从 SPL 函数返回值
返回单个值
返回多个值
处理 row 类型数据
点符号表示法的优先顺序
更新 row 类型表达式
处理集合
集合数据类型
准备集合数据类型
声明集合变量
声明元素变量
将集合选择至集合变量内
将元素插入至集合变量内
插入至 SET 或 MULTISET 内
插入至 LIST 内
检查 LIST 集合的基数
VALUES 子句的语法
从集合选择元素
集合查询
将集合查询添加至 SPL 例程
删除集合元素
更新数据库中的集合
删除整个集合
更新集合元素
使用变量更新集合
更新整个集合
更新 row 类型的集合
更新嵌套的集合
插入至集合内
插入至嵌套的集合内
将集合插入至外层的集合内
将值插入至内层的集合
执行例程
EXECUTE 语句
CALL 语句
执行表达式中的例程
使用 RETURN 语句执行外部函数
从 SPL 例程执行游标函数
动态的例程名称规范
动态例程名称规范的规则
对例程的权限
注册例程的权限
执行例程的权限
授予和撤销 Execute 权限
使用 COMMUTATOR 和 NEGATOR 函数的 Execute 权限
对与例程相关联的对象的权限
执行例程的 DBA 权限
在 SPL 例程中查找错误
编译时刻警告
生成例程的文本
调试 SPL 例程
异常处理
错误捕获与恢复
ON EXCEPTION 语句的控制作用域
用户生成的异常
模拟 SQL 错误
使用 RAISE EXCEPTION 来退出嵌套的代码
检查 SPL 例程中处理的行数
总结
创建和使用触发器
何时使用触发器
如何创建触发器
声明触发器名称
指定触发器事件
定义触发操作
完整的 CREATE TRIGGER 语句
使用触发操作
BEFORE 和 AFTER 触发操作
FOR EACH ROW 触发操作
REFERENCING 子句
WHEN 条件
将 SPL 例程用作触发操作
将数据传至 SPL 例程
使用 SPL
用 SPL 例程中的数据更新非触发列
触发器例程
表层次结构中的触发器
Select 触发器
执行触发操作的 SELECT 语句
独立 SELECT 语句
查询投影列表中的集合子查询
嵌入在用户定义例程中的 SELECT 语句
视图
执行 Select 触发器的限制
在表层次结构中的表的 Select 触发器
可重入触发器
视图上的 INSTEAD OF 触发器
使用 INSTEAD OF 触发器对视图进行更新
跟踪触发操作
SQL 例程中的 TRACE 语句的示例
TRACE 输出的示例
生成错误消息
应用固定错误消息
生成可变错误消息
总结
Your browser does not support iframes.